{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Live Decisioning Customer Values.ipynb",
      "provenance": [],
      "collapsed_sections": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.6.11"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "xaAcszGQs-p8"
      },
      "source": [
        "\n",
        "In this section, we will be using active learning to predict. \n",
        "\n",
        "We will be using a dataset that is about product marketing - bank product marketing to be more precise. We want to predict if the client will subscribe to a term deposit. The situation is that customer agents, whose time costs money, will call customers. We need to decide which customers will be most likely to sign up, so we can prioritze the calls. \n",
        "\n",
        "This is a nice use case for active learning, because - not unlike in reinforcement learning - uncertainty could be an additional criterion, apart from positive expectation, from a customer. Over time, this entropy-reduction seeking behavior would reduce as the model's understanding of customers improves.\n",
        "\n",
        "Again we will get the data from OpenML."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OuRiZSTzmxln",
        "outputId": "8ef526b2-b0d8-4d2c-f130-190bb9153a66",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 85
        }
      },
      "source": [
        "pip install -q openml modAL category_encoders"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "\u001b[K     |████████████████████████████████| 163kB 2.8MB/s \n",
            "\u001b[K     |████████████████████████████████| 81kB 4.4MB/s \n",
            "\u001b[?25h  Building wheel for openml (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "  Building wheel for liac-arff (setup.py) ... \u001b[?25l\u001b[?25hdone\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ahMOV0Omxq3k"
      },
      "source": [
        "import openml\n",
        "dataset = openml.datasets.get_dataset(1461)"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ok9QBxB_yIW2"
      },
      "source": [
        "X, y, categorical_indicator, _ = dataset.get_data(\n",
        "    dataset_format='dataframe',\n",
        "    target=dataset.default_target_attribute\n",
        ")\n",
        "categorical_features = X.columns[categorical_indicator]\n",
        "numeric_features = X.columns[[not(i) for i in categorical_indicator]]"
      ],
      "execution_count": 3,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "GmbcmYu9uM1D",
        "outputId": "f5e0728d-bba2-4859-f069-4ac2fe0a1564",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 204
        }
      },
      "source": [
        "X.head()"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>V1</th>\n",
              "      <th>V2</th>\n",
              "      <th>V3</th>\n",
              "      <th>V4</th>\n",
              "      <th>V5</th>\n",
              "      <th>V6</th>\n",
              "      <th>V7</th>\n",
              "      <th>V8</th>\n",
              "      <th>V9</th>\n",
              "      <th>V10</th>\n",
              "      <th>V11</th>\n",
              "      <th>V12</th>\n",
              "      <th>V13</th>\n",
              "      <th>V14</th>\n",
              "      <th>V15</th>\n",
              "      <th>V16</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>58.0</td>\n",
              "      <td>management</td>\n",
              "      <td>married</td>\n",
              "      <td>tertiary</td>\n",
              "      <td>no</td>\n",
              "      <td>2143.0</td>\n",
              "      <td>yes</td>\n",
              "      <td>no</td>\n",
              "      <td>unknown</td>\n",
              "      <td>5.0</td>\n",
              "      <td>may</td>\n",
              "      <td>261.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>-1.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>unknown</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>44.0</td>\n",
              "      <td>technician</td>\n",
              "      <td>single</td>\n",
              "      <td>secondary</td>\n",
              "      <td>no</td>\n",
              "      <td>29.0</td>\n",
              "      <td>yes</td>\n",
              "      <td>no</td>\n",
              "      <td>unknown</td>\n",
              "      <td>5.0</td>\n",
              "      <td>may</td>\n",
              "      <td>151.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>-1.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>unknown</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>33.0</td>\n",
              "      <td>entrepreneur</td>\n",
              "      <td>married</td>\n",
              "      <td>secondary</td>\n",
              "      <td>no</td>\n",
              "      <td>2.0</td>\n",
              "      <td>yes</td>\n",
              "      <td>yes</td>\n",
              "      <td>unknown</td>\n",
              "      <td>5.0</td>\n",
              "      <td>may</td>\n",
              "      <td>76.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>-1.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>unknown</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>47.0</td>\n",
              "      <td>blue-collar</td>\n",
              "      <td>married</td>\n",
              "      <td>unknown</td>\n",
              "      <td>no</td>\n",
              "      <td>1506.0</td>\n",
              "      <td>yes</td>\n",
              "      <td>no</td>\n",
              "      <td>unknown</td>\n",
              "      <td>5.0</td>\n",
              "      <td>may</td>\n",
              "      <td>92.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>-1.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>unknown</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>33.0</td>\n",
              "      <td>unknown</td>\n",
              "      <td>single</td>\n",
              "      <td>unknown</td>\n",
              "      <td>no</td>\n",
              "      <td>1.0</td>\n",
              "      <td>no</td>\n",
              "      <td>no</td>\n",
              "      <td>unknown</td>\n",
              "      <td>5.0</td>\n",
              "      <td>may</td>\n",
              "      <td>198.0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>-1.0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>unknown</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "     V1            V2       V3         V4  V5  ...    V12  V13  V14  V15      V16\n",
              "0  58.0    management  married   tertiary  no  ...  261.0  1.0 -1.0  0.0  unknown\n",
              "1  44.0    technician   single  secondary  no  ...  151.0  1.0 -1.0  0.0  unknown\n",
              "2  33.0  entrepreneur  married  secondary  no  ...   76.0  1.0 -1.0  0.0  unknown\n",
              "3  47.0   blue-collar  married    unknown  no  ...   92.0  1.0 -1.0  0.0  unknown\n",
              "4  33.0       unknown   single    unknown  no  ...  198.0  1.0 -1.0  0.0  unknown\n",
              "\n",
              "[5 rows x 16 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fLckoFZssxgG"
      },
      "source": [
        "from matplotlib import pyplot as plt\n",
        "import pandas as pd\n",
        "%matplotlib inline\n",
        "import seaborn as sns"
      ],
      "execution_count": 5,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "1macjCDJzVNO",
        "outputId": "2c47aac6-0426-4427-9705-f680102dbb36",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 105
        }
      },
      "source": [
        "from sklearn.compose import ColumnTransformer\n",
        "from sklearn.preprocessing import FunctionTransformer\n",
        "import category_encoders as ce\n",
        "\n",
        "\n",
        "def col_names2slices(column_names, X):\n",
        "    numpy_slice = []\n",
        "    X_cols = list(X.columns)\n",
        "    for col in column_names:\n",
        "        numpy_slice.append(X_cols.index(col))\n",
        "    return list(numpy_slice)\n",
        "\n",
        "ordinal_encoder = ce.OrdinalEncoder(\n",
        "    cols=None,  # all features that it encounters\n",
        "    handle_missing='return_nan',\n",
        "    handle_unknown='ignore'\n",
        ").fit(X)\n",
        "\n",
        "preprocessor = ColumnTransformer(\n",
        "    transformers=[\n",
        "        #('ranges', range_transformer, range_features),\n",
        "        ('cat', ordinal_encoder, categorical_features),\n",
        "        ('num', FunctionTransformer(validate=False), numeric_features)]\n",
        ")\n",
        "\n",
        "preprocessor = preprocessor.fit(X)"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/statsmodels/tools/_testing.py:19: FutureWarning: pandas.util.testing is deprecated. Use the functions in the public API at pandas.testing instead.\n",
            "  import pandas.util.testing as tm\n",
            "/usr/local/lib/python3.6/dist-packages/category_encoders/utils.py:21: FutureWarning: is_categorical is deprecated and will be removed in a future version.  Use is_categorical_dtype instead\n",
            "  elif pd.api.types.is_categorical(cols):\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "IPO-LeknzbwS"
      },
      "source": [
        "Since we are dealing with an imbalanced dataset, let us use class weights. This basically means that we are upsampling the minority (signing up) class and downsampling the majority class (not signing up). The formula for the class weights is as follows:\n",
        "\n",
        "$ \\text{n_samples} / (\\text{n_classes} * \\text{np.bincount}(y))$"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wqp2Gdv1z7SP"
      },
      "source": [
        "class_weights = len(X) / (y.astype(int).value_counts() * 2)"
      ],
      "execution_count": 7,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "qpg5GRDZXH-Q"
      },
      "source": [
        "Only few models in [sklearn allow incremental or online learning](https://scikit-learn.org/0.15/modules/scaling_strategies.html). A few linear models include the *partial_fit()* method. The Sk-multiflow package specializes in incremental and online/streaming models. Let us try one of their models."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "x-FYfgvxW9xc",
        "outputId": "d201b1b7-804b-4ad1-eec4-90af4a66266a",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "pip install -q scikit-multiflow"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "\u001b[?25l\r\u001b[K     |▎                               | 10kB 15.1MB/s eta 0:00:01\r\u001b[K     |▋                               | 20kB 1.8MB/s eta 0:00:01\r\u001b[K     |▉                               | 30kB 2.3MB/s eta 0:00:01\r\u001b[K     |█▏                              | 40kB 2.6MB/s eta 0:00:01\r\u001b[K     |█▌                              | 51kB 2.0MB/s eta 0:00:01\r\u001b[K     |█▊                              | 61kB 2.3MB/s eta 0:00:01\r\u001b[K     |██                              | 71kB 2.5MB/s eta 0:00:01\r\u001b[K     |██▍                             | 81kB 2.8MB/s eta 0:00:01\r\u001b[K     |██▋                             | 92kB 3.0MB/s eta 0:00:01\r\u001b[K     |███                             | 102kB 2.8MB/s eta 0:00:01\r\u001b[K     |███▏                            | 112kB 2.8MB/s eta 0:00:01\r\u001b[K     |███▌                            | 122kB 2.8MB/s eta 0:00:01\r\u001b[K     |███▉                            | 133kB 2.8MB/s eta 0:00:01\r\u001b[K     |████                            | 143kB 2.8MB/s eta 0:00:01\r\u001b[K     |████▍                           | 153kB 2.8MB/s eta 0:00:01\r\u001b[K     |████▊                           | 163kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████                           | 174kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████▎                          | 184kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████▋                          | 194kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████▉                          | 204kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████▏                         | 215kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████▍                         | 225kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████▊                         | 235kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████                         | 245kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████▎                        | 256kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████▋                        | 266kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████                        | 276kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████▏                       | 286kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████▌                       | 296kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████▉                       | 307kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████                       | 317kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████▍                      | 327kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████▋                      | 337kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████                      | 348kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████▎                     | 358kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████▌                     | 368kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████▉                     | 378kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████▏                    | 389kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████▍                    | 399kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████▊                    | 409kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████                    | 419kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████▎                   | 430kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████▋                   | 440kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████▉                   | 450kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████▏                  | 460kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████▌                  | 471kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████▊                  | 481kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████                  | 491kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████▍                 | 501kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████▋                 | 512kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████                 | 522kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████▎                | 532kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████▌                | 542kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████▉                | 552kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████                | 563kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████▍               | 573kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████▊               | 583kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████               | 593kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████▎              | 604kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████▋              | 614kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████▉              | 624kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████▏             | 634kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████▌             | 645kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████▊             | 655kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████             | 665kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████▎            | 675kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████▋            | 686kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████            | 696kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████▏           | 706kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████▌           | 716kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████▉           | 727kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████           | 737kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████▍          | 747kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████▋          | 757kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████          | 768kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████▎         | 778kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████▌         | 788kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████▉         | 798kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████▏        | 808kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████▍        | 819kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████▊        | 829kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████        | 839kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████▎       | 849kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████▋       | 860kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████▉       | 870kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████████▏      | 880kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████████▌      | 890kB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████████▊      | 901kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████████      | 911kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████████▍     | 921kB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████████▋     | 931kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████████     | 942kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████████▎    | 952kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████████▌    | 962kB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████████▉    | 972kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████████    | 983kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████████▍   | 993kB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████████▊   | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████████████   | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████████████▎  | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████████████▋  | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K     |█████████████████████████████▉  | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████████████▏ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████████████▌ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K     |██████████████████████████████▊ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████████████ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████████████▎| 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K     |███████████████████████████████▋| 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████████████| 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K     |████████████████████████████████| 1.1MB 2.8MB/s \n",
            "\u001b[?25h"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "RT4oEJgEza21"
      },
      "source": [
        "import numpy as np\n",
        "from skmultiflow.trees import HoeffdingTree\n",
        "from sklearn.metrics import roc_auc_score\n",
        "from modAL.uncertainty import classifier_uncertainty\n",
        "import random\n",
        "\n",
        "\n",
        "class ActivePipeline:\n",
        "    '''inspired by modAL.models.ActiveLearner\n",
        "    '''\n",
        "    def __init__(self, model, preprocessor, class_weights):\n",
        "        self.model = model\n",
        "        self.preprocessor = preprocessor\n",
        "        self.class_weights = class_weights\n",
        "\n",
        "    @staticmethod\n",
        "    def values(X):\n",
        "        if isinstance(X, (np.ndarray, np.int64)):\n",
        "            return X\n",
        "        else:\n",
        "            return X.values\n",
        "\n",
        "    def preprocess(self, X):\n",
        "        X_ = pd.DataFrame(\n",
        "            data=self.values(X),\n",
        "            columns=['V1', 'V2', 'V3', 'V4',\n",
        "                     'V5', 'V6', 'V7', 'V8',\n",
        "                     'V9', 'V10', 'V11',\n",
        "                     'V12', 'V13', 'V14',\n",
        "                     'V15', 'V16']\n",
        "        )\n",
        "        return self.preprocessor.transform(X_)\n",
        "\n",
        "    def fit(self, X, ys):\n",
        "        weights = [self.class_weights[y] for y in ys]\n",
        "        self.model.fit(self.preprocess(X), self.values(ys))  #, classes=ys.unique(), weight=weights)  # classes\n",
        "\n",
        "    def update(self, X, ys):\n",
        "        if isinstance(ys, (int, float)):\n",
        "            weight = self.class_weights[y]\n",
        "        else:\n",
        "            weight = [self.class_weights[y] for y in ys]\n",
        "        self.model.partial_fit(\n",
        "            self.preprocess(X),\n",
        "            self.values(ys),\n",
        "            weight\n",
        "        )\n",
        "\n",
        "    def predict(self, X):\n",
        "        return self.model.predict(\n",
        "            self.preprocess(X)\n",
        "        )\n",
        "\n",
        "    def predict_proba(self, X):\n",
        "        return self.model.predict_proba(\n",
        "            self.preprocess(X)\n",
        "        )\n",
        "\n",
        "    def max_margin_uncertainty(self, X, k=100, sample=True):\n",
        "        '''similar to modAL.uncertainty.margin_uncertainty\n",
        "\n",
        "        Calculate margin uncertainty based on predicted\n",
        "        class probabilities, and return the element from\n",
        "        X that should be learned next based on uncertainties.\n",
        "\n",
        "        Either randomly sample (weighted by uncertainties) or\n",
        "        just take the most uncertain element.\n",
        "\n",
        "        Parameters\n",
        "        - X - dataset to learn.\n",
        "        - k - how many points to return.\n",
        "        - sample - [bool] if to sample by uncertainties or to\n",
        "          take the most uncertain point(s) from X.\n",
        "\n",
        "        Returns\n",
        "        - the index(es) of the points with highest margin uncertainty\n",
        "        - the average remaining uncertainty\n",
        "        '''\n",
        "        probs = self.predict_proba(X)\n",
        "        uncertainties = 1.0 - np.abs(probs[:,2] - probs[:, 1])\n",
        "        remaining_uncertainty = float(np.mean(uncertainties))\n",
        "        if sample:\n",
        "          inds = random.choices(range(len(X)), uncertainties, k=k)\n",
        "        else:\n",
        "          inds = np.flip(np.sort(uncertainties))\n",
        "        return list(inds), remaining_uncertainty\n",
        "\n",
        "    def score(self, X, y):\n",
        "        return roc_auc_score(y, self.predict(X))"
      ],
      "execution_count": 73,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "lK7YcicKO2BK",
        "outputId": "79493fb5-2e2a-4853-b800-f836919c3abb",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 105
        }
      },
      "source": [
        "active_pipeline = ActivePipeline(HoeffdingTree(), preprocessor, class_weights.to_dict())\n",
        "active_pipeline.model.classes = [0, 1, 2]\n",
        "X_all = X.copy().reset_index(drop=True)\n",
        "y_all = y.copy().reset_index(drop=True).astype(int)\n",
        "\n",
        "n_initial = len(X) // 10\n",
        "step_size = 100\n",
        "sampling = True\n",
        "\n",
        "print('Assuming {} points are known'.format(n_initial))\n",
        "initial_idx = np.random.choice(\n",
        "    len(X_all), size=n_initial, replace=False\n",
        ")\n",
        "X_train, y_train = X_all.iloc[initial_idx], y_all.iloc[initial_idx]\n",
        "\n",
        "active_pipeline.fit(X_train, y_train.astype(int))\n",
        "X_all = X_all.drop(initial_idx)\n",
        "y_all = y_all.drop(initial_idx)\n",
        "N = len(X_all)"
      ],
      "execution_count": 74,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/skmultiflow/trees/hoeffding_tree.py:35: FutureWarning: 'HoeffdingTree' has been renamed to 'HoeffdingTreeClassifier' in v0.5.0.\n",
            "The old name will be removed in v0.7.0\n",
            "  \"The old name will be removed in v0.7.0\", category=FutureWarning)\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "Assuming 4521 points are known\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bCpCV3l1lVZW",
        "outputId": "97c376d3-537f-4bf7-ad7f-3318835f1075",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "from collections import namedtuple\n",
        "\n",
        "Iteration = namedtuple(\n",
        "    'Iteration',\n",
        "    ['iteration',\n",
        "     'score',\n",
        "     'uncertainty',\n",
        "     'target']\n",
        ")\n",
        "\n",
        "history = []\n",
        "it = 0\n",
        "learned = []\n",
        "score = active_pipeline.score(X, y)\n",
        "while score < 0.70 and it <= N:\n",
        "    stream_idx, uncertainty = active_pipeline.max_margin_uncertainty(X_all, sample=sampling, k=step_size)\n",
        "    print(\n",
        "        'iteration: ', it, 'score: {:.2f}'.format(score),\n",
        "        'uncertainty: {:.2f}'.format(uncertainty)\n",
        "    )\n",
        "    \n",
        "    active_pipeline.update(\n",
        "        np.array(X_all.iloc[stream_idx], ndmin=2),\n",
        "        np.array(y_all.astype(int).iloc[stream_idx], ndmin=1)\n",
        "    )\n",
        "    score = active_pipeline.score(X_all, y_all)\n",
        "    history.append(\n",
        "        Iteration(\n",
        "            iteration=it,\n",
        "            score=score,\n",
        "            uncertainty=uncertainty,\n",
        "            target=y_all.iloc[stream_idx]\n",
        "        )\n",
        "    )\n",
        "    X_all = X_all.drop(X_all.index[stream_idx]).reset_index(drop=True)\n",
        "    y_all = y_all.drop(y_all.index[stream_idx]).reset_index(drop=True)\n",
        "    it += 1\n"
      ],
      "execution_count": 75,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "iteration:  0 score: 0.55 uncertainty: 0.18\n",
            "iteration:  1 score: 0.53 uncertainty: 0.15\n",
            "iteration:  2 score: 0.53 uncertainty: 0.15\n",
            "iteration:  3 score: 0.53 uncertainty: 0.15\n",
            "iteration:  4 score: 0.53 uncertainty: 0.15\n",
            "iteration:  5 score: 0.53 uncertainty: 0.15\n",
            "iteration:  6 score: 0.53 uncertainty: 0.14\n",
            "iteration:  7 score: 0.53 uncertainty: 0.15\n",
            "iteration:  8 score: 0.53 uncertainty: 0.15\n",
            "iteration:  9 score: 0.53 uncertainty: 0.15\n",
            "iteration:  10 score: 0.53 uncertainty: 0.15\n",
            "iteration:  11 score: 0.53 uncertainty: 0.15\n",
            "iteration:  12 score: 0.53 uncertainty: 0.14\n",
            "iteration:  13 score: 0.53 uncertainty: 0.14\n",
            "iteration:  14 score: 0.53 uncertainty: 0.14\n",
            "iteration:  15 score: 0.53 uncertainty: 0.14\n",
            "iteration:  16 score: 0.53 uncertainty: 0.14\n",
            "iteration:  17 score: 0.53 uncertainty: 0.14\n",
            "iteration:  18 score: 0.53 uncertainty: 0.14\n",
            "iteration:  19 score: 0.53 uncertainty: 0.14\n",
            "iteration:  20 score: 0.53 uncertainty: 0.14\n",
            "iteration:  21 score: 0.53 uncertainty: 0.14\n",
            "iteration:  22 score: 0.53 uncertainty: 0.14\n",
            "iteration:  23 score: 0.53 uncertainty: 0.14\n",
            "iteration:  24 score: 0.53 uncertainty: 0.14\n",
            "iteration:  25 score: 0.53 uncertainty: 0.14\n",
            "iteration:  26 score: 0.53 uncertainty: 0.14\n",
            "iteration:  27 score: 0.53 uncertainty: 0.14\n",
            "iteration:  28 score: 0.53 uncertainty: 0.14\n",
            "iteration:  29 score: 0.52 uncertainty: 0.14\n",
            "iteration:  30 score: 0.53 uncertainty: 0.14\n",
            "iteration:  31 score: 0.53 uncertainty: 0.14\n",
            "iteration:  32 score: 0.58 uncertainty: 0.19\n",
            "iteration:  33 score: 0.53 uncertainty: 0.07\n",
            "iteration:  34 score: 0.53 uncertainty: 0.07\n",
            "iteration:  35 score: 0.52 uncertainty: 0.07\n",
            "iteration:  36 score: 0.52 uncertainty: 0.15\n",
            "iteration:  37 score: 0.52 uncertainty: 0.15\n",
            "iteration:  38 score: 0.52 uncertainty: 0.15\n",
            "iteration:  39 score: 0.52 uncertainty: 0.15\n",
            "iteration:  40 score: 0.52 uncertainty: 0.15\n",
            "iteration:  41 score: 0.52 uncertainty: 0.15\n",
            "iteration:  42 score: 0.52 uncertainty: 0.15\n",
            "iteration:  43 score: 0.52 uncertainty: 0.15\n",
            "iteration:  44 score: 0.52 uncertainty: 0.15\n",
            "iteration:  45 score: 0.52 uncertainty: 0.15\n",
            "iteration:  46 score: 0.52 uncertainty: 0.15\n",
            "iteration:  47 score: 0.52 uncertainty: 0.15\n",
            "iteration:  48 score: 0.52 uncertainty: 0.15\n",
            "iteration:  49 score: 0.52 uncertainty: 0.15\n",
            "iteration:  50 score: 0.52 uncertainty: 0.15\n",
            "iteration:  51 score: 0.52 uncertainty: 0.15\n",
            "iteration:  52 score: 0.52 uncertainty: 0.15\n",
            "iteration:  53 score: 0.52 uncertainty: 0.15\n",
            "iteration:  54 score: 0.52 uncertainty: 0.15\n",
            "iteration:  55 score: 0.52 uncertainty: 0.15\n",
            "iteration:  56 score: 0.52 uncertainty: 0.15\n",
            "iteration:  57 score: 0.52 uncertainty: 0.14\n",
            "iteration:  58 score: 0.52 uncertainty: 0.15\n",
            "iteration:  59 score: 0.52 uncertainty: 0.15\n",
            "iteration:  60 score: 0.52 uncertainty: 0.15\n",
            "iteration:  61 score: 0.52 uncertainty: 0.14\n",
            "iteration:  62 score: 0.52 uncertainty: 0.14\n",
            "iteration:  63 score: 0.52 uncertainty: 0.14\n",
            "iteration:  64 score: 0.52 uncertainty: 0.14\n",
            "iteration:  65 score: 0.52 uncertainty: 0.14\n",
            "iteration:  66 score: 0.52 uncertainty: 0.14\n",
            "iteration:  67 score: 0.48 uncertainty: 0.23\n",
            "iteration:  68 score: 0.52 uncertainty: 0.12\n",
            "iteration:  69 score: 0.52 uncertainty: 0.12\n",
            "iteration:  70 score: 0.52 uncertainty: 0.12\n",
            "iteration:  71 score: 0.52 uncertainty: 0.12\n",
            "iteration:  72 score: 0.52 uncertainty: 0.12\n",
            "iteration:  73 score: 0.52 uncertainty: 0.11\n",
            "iteration:  74 score: 0.52 uncertainty: 0.11\n",
            "iteration:  75 score: 0.52 uncertainty: 0.11\n",
            "iteration:  76 score: 0.46 uncertainty: 0.14\n",
            "iteration:  77 score: 0.52 uncertainty: 0.12\n",
            "iteration:  78 score: 0.51 uncertainty: 0.11\n",
            "iteration:  79 score: 0.51 uncertainty: 0.11\n",
            "iteration:  80 score: 0.51 uncertainty: 0.11\n",
            "iteration:  81 score: 0.51 uncertainty: 0.11\n",
            "iteration:  82 score: 0.51 uncertainty: 0.11\n",
            "iteration:  83 score: 0.51 uncertainty: 0.11\n",
            "iteration:  84 score: 0.51 uncertainty: 0.11\n",
            "iteration:  85 score: 0.51 uncertainty: 0.11\n",
            "iteration:  86 score: 0.51 uncertainty: 0.10\n",
            "iteration:  87 score: 0.51 uncertainty: 0.10\n",
            "iteration:  88 score: 0.51 uncertainty: 0.10\n",
            "iteration:  89 score: 0.51 uncertainty: 0.10\n",
            "iteration:  90 score: 0.51 uncertainty: 0.10\n",
            "iteration:  91 score: 0.51 uncertainty: 0.10\n",
            "iteration:  92 score: 0.51 uncertainty: 0.10\n",
            "iteration:  93 score: 0.51 uncertainty: 0.10\n",
            "iteration:  94 score: 0.51 uncertainty: 0.10\n",
            "iteration:  95 score: 0.51 uncertainty: 0.10\n",
            "iteration:  96 score: 0.51 uncertainty: 0.10\n",
            "iteration:  97 score: 0.51 uncertainty: 0.10\n",
            "iteration:  98 score: 0.51 uncertainty: 0.10\n",
            "iteration:  99 score: 0.51 uncertainty: 0.10\n",
            "iteration:  100 score: 0.51 uncertainty: 0.09\n",
            "iteration:  101 score: 0.51 uncertainty: 0.09\n",
            "iteration:  102 score: 0.51 uncertainty: 0.09\n",
            "iteration:  103 score: 0.51 uncertainty: 0.09\n",
            "iteration:  104 score: 0.51 uncertainty: 0.09\n",
            "iteration:  105 score: 0.51 uncertainty: 0.09\n",
            "iteration:  106 score: 0.51 uncertainty: 0.09\n",
            "iteration:  107 score: 0.51 uncertainty: 0.09\n",
            "iteration:  108 score: 0.51 uncertainty: 0.09\n",
            "iteration:  109 score: 0.51 uncertainty: 0.09\n",
            "iteration:  110 score: 0.50 uncertainty: 0.07\n",
            "iteration:  111 score: 0.51 uncertainty: 0.06\n",
            "iteration:  112 score: 0.51 uncertainty: 0.06\n",
            "iteration:  113 score: 0.51 uncertainty: 0.06\n",
            "iteration:  114 score: 0.51 uncertainty: 0.06\n",
            "iteration:  115 score: 0.51 uncertainty: 0.05\n",
            "iteration:  116 score: 0.51 uncertainty: 0.01\n",
            "iteration:  117 score: 0.51 uncertainty: 0.01\n",
            "iteration:  118 score: 0.51 uncertainty: 0.01\n",
            "iteration:  119 score: 0.51 uncertainty: 0.01\n",
            "iteration:  120 score: 0.51 uncertainty: 0.01\n",
            "iteration:  121 score: 0.51 uncertainty: 0.01\n",
            "iteration:  122 score: 0.52 uncertainty: 0.04\n",
            "iteration:  123 score: 0.51 uncertainty: 0.01\n",
            "iteration:  124 score: 0.51 uncertainty: 0.01\n",
            "iteration:  125 score: 0.50 uncertainty: 0.01\n",
            "iteration:  126 score: 0.50 uncertainty: 0.01\n",
            "iteration:  127 score: 0.50 uncertainty: 0.01\n",
            "iteration:  128 score: 0.50 uncertainty: 0.01\n",
            "iteration:  129 score: 0.50 uncertainty: 0.01\n",
            "iteration:  130 score: 0.50 uncertainty: 0.00\n",
            "iteration:  131 score: 0.50 uncertainty: 0.00\n",
            "iteration:  132 score: 0.50 uncertainty: 0.00\n",
            "iteration:  133 score: 0.50 uncertainty: 0.00\n",
            "iteration:  134 score: 0.50 uncertainty: 0.00\n",
            "iteration:  135 score: 0.50 uncertainty: 0.00\n",
            "iteration:  136 score: 0.52 uncertainty: 0.02\n",
            "iteration:  137 score: 0.52 uncertainty: 0.02\n",
            "iteration:  138 score: 0.52 uncertainty: 0.02\n",
            "iteration:  139 score: 0.54 uncertainty: 0.01\n",
            "iteration:  140 score: 0.52 uncertainty: 0.02\n",
            "iteration:  141 score: 0.52 uncertainty: 0.02\n",
            "iteration:  142 score: 0.54 uncertainty: 0.02\n",
            "iteration:  143 score: 0.51 uncertainty: 0.01\n",
            "iteration:  144 score: 0.51 uncertainty: 0.01\n",
            "iteration:  145 score: 0.51 uncertainty: 0.01\n",
            "iteration:  146 score: 0.51 uncertainty: 0.01\n",
            "iteration:  147 score: 0.51 uncertainty: 0.01\n",
            "iteration:  148 score: 0.51 uncertainty: 0.00\n",
            "iteration:  149 score: 0.51 uncertainty: 0.00\n",
            "iteration:  150 score: 0.51 uncertainty: 0.00\n",
            "iteration:  151 score: 0.51 uncertainty: 0.00\n",
            "iteration:  152 score: 0.51 uncertainty: 0.00\n",
            "iteration:  153 score: 0.51 uncertainty: 0.00\n",
            "iteration:  154 score: 0.51 uncertainty: 0.00\n",
            "iteration:  155 score: 0.50 uncertainty: 0.00\n",
            "iteration:  156 score: 0.50 uncertainty: 0.00\n",
            "iteration:  157 score: 0.50 uncertainty: 0.00\n",
            "iteration:  158 score: 0.50 uncertainty: 0.00\n",
            "iteration:  159 score: 0.50 uncertainty: 0.00\n",
            "iteration:  160 score: 0.50 uncertainty: 0.00\n",
            "iteration:  161 score: 0.50 uncertainty: 0.00\n",
            "iteration:  162 score: 0.50 uncertainty: 0.00\n",
            "iteration:  163 score: 0.50 uncertainty: 0.01\n",
            "iteration:  164 score: 0.50 uncertainty: 0.00\n",
            "iteration:  165 score: 0.50 uncertainty: 0.00\n",
            "iteration:  166 score: 0.50 uncertainty: 0.00\n",
            "iteration:  167 score: 0.50 uncertainty: 0.00\n",
            "iteration:  168 score: 0.50 uncertainty: 0.00\n",
            "iteration:  169 score: 0.50 uncertainty: 0.00\n",
            "iteration:  170 score: 0.50 uncertainty: 0.00\n",
            "iteration:  171 score: 0.50 uncertainty: 0.00\n",
            "iteration:  172 score: 0.50 uncertainty: 0.00\n",
            "iteration:  173 score: 0.50 uncertainty: 0.00\n",
            "iteration:  174 score: 0.50 uncertainty: 0.00\n",
            "iteration:  175 score: 0.50 uncertainty: 0.00\n",
            "iteration:  176 score: 0.63 uncertainty: 0.04\n",
            "iteration:  177 score: 0.51 uncertainty: 0.01\n",
            "iteration:  178 score: 0.51 uncertainty: 0.01\n",
            "iteration:  179 score: 0.51 uncertainty: 0.00\n",
            "iteration:  180 score: 0.51 uncertainty: 0.00\n",
            "iteration:  181 score: 0.51 uncertainty: 0.00\n",
            "iteration:  182 score: 0.51 uncertainty: 0.00\n",
            "iteration:  183 score: 0.50 uncertainty: 0.00\n",
            "iteration:  184 score: 0.56 uncertainty: 0.04\n",
            "iteration:  185 score: 0.50 uncertainty: 0.09\n",
            "iteration:  186 score: 0.50 uncertainty: 0.08\n",
            "iteration:  187 score: 0.50 uncertainty: 0.07\n",
            "iteration:  188 score: 0.50 uncertainty: 0.07\n",
            "iteration:  189 score: 0.50 uncertainty: 0.06\n",
            "iteration:  190 score: 0.50 uncertainty: 0.06\n",
            "iteration:  191 score: 0.50 uncertainty: 0.05\n",
            "iteration:  192 score: 0.50 uncertainty: 0.05\n",
            "iteration:  193 score: 0.50 uncertainty: 0.05\n",
            "iteration:  194 score: 0.50 uncertainty: 0.04\n",
            "iteration:  195 score: 0.50 uncertainty: 0.04\n",
            "iteration:  196 score: 0.50 uncertainty: 0.04\n",
            "iteration:  197 score: 0.50 uncertainty: 0.03\n",
            "iteration:  198 score: 0.50 uncertainty: 0.03\n",
            "iteration:  199 score: 0.50 uncertainty: 0.03\n",
            "iteration:  200 score: 0.50 uncertainty: 0.03\n",
            "iteration:  201 score: 0.50 uncertainty: 0.02\n",
            "iteration:  202 score: 0.50 uncertainty: 0.02\n",
            "iteration:  203 score: 0.50 uncertainty: 0.02\n",
            "iteration:  204 score: 0.50 uncertainty: 0.02\n",
            "iteration:  205 score: 0.50 uncertainty: 0.01\n",
            "iteration:  206 score: 0.50 uncertainty: 0.01\n",
            "iteration:  207 score: 0.50 uncertainty: 0.01\n",
            "iteration:  208 score: 0.50 uncertainty: 0.01\n",
            "iteration:  209 score: 0.50 uncertainty: 0.01\n",
            "iteration:  210 score: 0.50 uncertainty: 0.00\n",
            "iteration:  211 score: 0.50 uncertainty: 0.00\n",
            "iteration:  212 score: 0.50 uncertainty: 0.00\n",
            "iteration:  213 score: 0.50 uncertainty: 0.00\n",
            "iteration:  214 score: 0.50 uncertainty: 0.00\n",
            "iteration:  215 score: 0.50 uncertainty: 0.00\n",
            "iteration:  216 score: 0.50 uncertainty: 0.00\n",
            "iteration:  217 score: 0.50 uncertainty: 0.00\n",
            "iteration:  218 score: 0.51 uncertainty: 0.00\n",
            "iteration:  219 score: 0.50 uncertainty: 0.00\n",
            "iteration:  220 score: 0.50 uncertainty: 0.00\n",
            "iteration:  221 score: 0.50 uncertainty: 0.00\n",
            "iteration:  222 score: 0.35 uncertainty: 0.06\n",
            "iteration:  223 score: 0.53 uncertainty: 0.01\n",
            "iteration:  224 score: 0.54 uncertainty: 0.01\n",
            "iteration:  225 score: 0.52 uncertainty: 0.01\n",
            "iteration:  226 score: 0.52 uncertainty: 0.00\n",
            "iteration:  227 score: 0.51 uncertainty: 0.00\n",
            "iteration:  228 score: 0.51 uncertainty: 0.00\n",
            "iteration:  229 score: 0.53 uncertainty: 0.00\n",
            "iteration:  230 score: 0.50 uncertainty: 0.01\n",
            "iteration:  231 score: 0.50 uncertainty: 0.00\n",
            "iteration:  232 score: 0.50 uncertainty: 0.00\n",
            "iteration:  233 score: 0.50 uncertainty: 0.00\n",
            "iteration:  234 score: 0.50 uncertainty: 0.00\n",
            "iteration:  235 score: 0.51 uncertainty: 0.00\n",
            "iteration:  236 score: 0.51 uncertainty: 0.00\n",
            "iteration:  237 score: 0.50 uncertainty: 0.00\n",
            "iteration:  238 score: 0.50 uncertainty: 0.00\n",
            "iteration:  239 score: 0.50 uncertainty: 0.00\n",
            "iteration:  240 score: 0.50 uncertainty: 0.00\n",
            "iteration:  241 score: 0.50 uncertainty: 0.00\n",
            "iteration:  242 score: 0.50 uncertainty: 0.00\n",
            "iteration:  243 score: 0.50 uncertainty: 0.00\n",
            "iteration:  244 score: 0.50 uncertainty: 0.00\n",
            "iteration:  245 score: 0.50 uncertainty: 0.00\n",
            "iteration:  246 score: 0.50 uncertainty: 0.00\n",
            "iteration:  247 score: 0.50 uncertainty: 0.00\n",
            "iteration:  248 score: 0.50 uncertainty: 0.00\n",
            "iteration:  249 score: 0.50 uncertainty: 0.00\n",
            "iteration:  250 score: 0.50 uncertainty: 0.00\n",
            "iteration:  251 score: 0.50 uncertainty: 0.00\n",
            "iteration:  252 score: 0.50 uncertainty: 0.00\n",
            "iteration:  253 score: 0.50 uncertainty: 0.00\n",
            "iteration:  254 score: 0.50 uncertainty: 0.00\n",
            "iteration:  255 score: 0.50 uncertainty: 0.00\n",
            "iteration:  256 score: 0.50 uncertainty: 0.00\n",
            "iteration:  257 score: 0.50 uncertainty: 0.00\n",
            "iteration:  258 score: 0.50 uncertainty: 0.00\n",
            "iteration:  259 score: 0.50 uncertainty: 0.00\n",
            "iteration:  260 score: 0.50 uncertainty: 0.00\n",
            "iteration:  261 score: 0.50 uncertainty: 0.00\n",
            "iteration:  262 score: 0.50 uncertainty: 0.00\n",
            "iteration:  263 score: 0.50 uncertainty: 0.00\n",
            "iteration:  264 score: 0.49 uncertainty: 0.01\n",
            "iteration:  265 score: 0.50 uncertainty: 0.00\n",
            "iteration:  266 score: 0.50 uncertainty: 0.00\n",
            "iteration:  267 score: 0.50 uncertainty: 0.00\n",
            "iteration:  268 score: 0.56 uncertainty: 0.19\n",
            "iteration:  269 score: 0.51 uncertainty: 0.00\n",
            "iteration:  270 score: 0.51 uncertainty: 0.00\n",
            "iteration:  271 score: 0.51 uncertainty: 0.00\n",
            "iteration:  272 score: 0.51 uncertainty: 0.00\n",
            "iteration:  273 score: 0.51 uncertainty: 0.00\n",
            "iteration:  274 score: 0.51 uncertainty: 0.00\n",
            "iteration:  275 score: 0.51 uncertainty: 0.00\n",
            "iteration:  276 score: 0.51 uncertainty: 0.00\n",
            "iteration:  277 score: 0.51 uncertainty: 0.00\n",
            "iteration:  278 score: 0.51 uncertainty: 0.00\n",
            "iteration:  279 score: 0.51 uncertainty: 0.00\n",
            "iteration:  280 score: 0.51 uncertainty: 0.00\n",
            "iteration:  281 score: 0.51 uncertainty: 0.00\n",
            "iteration:  282 score: 0.51 uncertainty: 0.00\n",
            "iteration:  283 score: 0.51 uncertainty: 0.00\n",
            "iteration:  284 score: 0.51 uncertainty: 0.00\n",
            "iteration:  285 score: 0.51 uncertainty: 0.00\n",
            "iteration:  286 score: 0.51 uncertainty: 0.00\n",
            "iteration:  287 score: 0.51 uncertainty: 0.00\n",
            "iteration:  288 score: 0.51 uncertainty: 0.00\n",
            "iteration:  289 score: 0.51 uncertainty: 0.00\n",
            "iteration:  290 score: 0.51 uncertainty: 0.00\n",
            "iteration:  291 score: 0.51 uncertainty: 0.00\n",
            "iteration:  292 score: 0.51 uncertainty: 0.00\n",
            "iteration:  293 score: 0.51 uncertainty: 0.00\n",
            "iteration:  294 score: 0.51 uncertainty: 0.00\n",
            "iteration:  295 score: 0.51 uncertainty: 0.00\n",
            "iteration:  296 score: 0.51 uncertainty: 0.00\n",
            "iteration:  297 score: 0.51 uncertainty: 0.00\n",
            "iteration:  298 score: 0.51 uncertainty: 0.00\n",
            "iteration:  299 score: 0.51 uncertainty: 0.00\n",
            "iteration:  300 score: 0.51 uncertainty: 0.00\n",
            "iteration:  301 score: 0.51 uncertainty: 0.00\n",
            "iteration:  302 score: 0.51 uncertainty: 0.00\n",
            "iteration:  303 score: 0.51 uncertainty: 0.00\n",
            "iteration:  304 score: 0.48 uncertainty: 0.75\n",
            "iteration:  305 score: 0.54 uncertainty: 0.04\n",
            "iteration:  306 score: 0.52 uncertainty: 0.00\n",
            "iteration:  307 score: 0.51 uncertainty: 0.34\n",
            "iteration:  308 score: 0.52 uncertainty: 0.01\n",
            "iteration:  309 score: 0.51 uncertainty: 0.15\n",
            "iteration:  310 score: 0.51 uncertainty: 0.12\n",
            "iteration:  311 score: 0.51 uncertainty: 0.11\n",
            "iteration:  312 score: 0.51 uncertainty: 0.10\n",
            "iteration:  313 score: 0.51 uncertainty: 0.09\n",
            "iteration:  314 score: 0.51 uncertainty: 0.08\n",
            "iteration:  315 score: 0.51 uncertainty: 0.08\n",
            "iteration:  316 score: 0.51 uncertainty: 0.07\n",
            "iteration:  317 score: 0.51 uncertainty: 0.07\n",
            "iteration:  318 score: 0.51 uncertainty: 0.07\n",
            "iteration:  319 score: 0.51 uncertainty: 0.06\n",
            "iteration:  320 score: 0.51 uncertainty: 0.06\n",
            "iteration:  321 score: 0.51 uncertainty: 0.06\n",
            "iteration:  322 score: 0.51 uncertainty: 0.06\n",
            "iteration:  323 score: 0.51 uncertainty: 0.05\n",
            "iteration:  324 score: 0.51 uncertainty: 0.05\n",
            "iteration:  325 score: 0.51 uncertainty: 0.05\n",
            "iteration:  326 score: 0.51 uncertainty: 0.05\n",
            "iteration:  327 score: 0.51 uncertainty: 0.05\n",
            "iteration:  328 score: 0.51 uncertainty: 0.05\n",
            "iteration:  329 score: 0.51 uncertainty: 0.05\n",
            "iteration:  330 score: 0.51 uncertainty: 0.05\n",
            "iteration:  331 score: 0.51 uncertainty: 0.05\n",
            "iteration:  332 score: 0.51 uncertainty: 0.05\n",
            "iteration:  333 score: 0.51 uncertainty: 0.05\n",
            "iteration:  334 score: 0.51 uncertainty: 0.04\n",
            "iteration:  335 score: 0.51 uncertainty: 0.04\n",
            "iteration:  336 score: 0.51 uncertainty: 0.04\n",
            "iteration:  337 score: 0.51 uncertainty: 0.04\n",
            "iteration:  338 score: 0.51 uncertainty: 0.04\n",
            "iteration:  339 score: 0.51 uncertainty: 0.00\n",
            "iteration:  340 score: 0.51 uncertainty: 0.00\n",
            "iteration:  341 score: 0.51 uncertainty: 0.00\n",
            "iteration:  342 score: 0.51 uncertainty: 0.00\n",
            "iteration:  343 score: 0.51 uncertainty: 0.00\n",
            "iteration:  344 score: 0.51 uncertainty: 0.00\n",
            "iteration:  345 score: 0.51 uncertainty: 0.00\n",
            "iteration:  346 score: 0.51 uncertainty: 0.00\n",
            "iteration:  347 score: 0.51 uncertainty: 0.00\n",
            "iteration:  348 score: 0.51 uncertainty: 0.00\n",
            "iteration:  349 score: 0.51 uncertainty: 0.00\n",
            "iteration:  350 score: 0.51 uncertainty: 0.00\n",
            "iteration:  351 score: 0.51 uncertainty: 0.00\n",
            "iteration:  352 score: 0.51 uncertainty: 0.00\n",
            "iteration:  353 score: 0.51 uncertainty: 0.00\n",
            "iteration:  354 score: 0.51 uncertainty: 0.00\n",
            "iteration:  355 score: 0.51 uncertainty: 0.00\n",
            "iteration:  356 score: 0.48 uncertainty: 0.44\n",
            "iteration:  357 score: 0.54 uncertainty: 0.01\n",
            "iteration:  358 score: 0.51 uncertainty: 0.01\n",
            "iteration:  359 score: 0.51 uncertainty: 0.01\n",
            "iteration:  360 score: 0.51 uncertainty: 0.01\n",
            "iteration:  361 score: 0.51 uncertainty: 0.01\n",
            "iteration:  362 score: 0.51 uncertainty: 0.01\n",
            "iteration:  363 score: 0.51 uncertainty: 0.01\n",
            "iteration:  364 score: 0.51 uncertainty: 0.01\n",
            "iteration:  365 score: 0.51 uncertainty: 0.01\n",
            "iteration:  366 score: 0.51 uncertainty: 0.01\n",
            "iteration:  367 score: 0.51 uncertainty: 0.01\n",
            "iteration:  368 score: 0.51 uncertainty: 0.01\n",
            "iteration:  369 score: 0.51 uncertainty: 0.01\n",
            "iteration:  370 score: 0.51 uncertainty: 0.01\n",
            "iteration:  371 score: 0.51 uncertainty: 0.00\n",
            "iteration:  372 score: 0.51 uncertainty: 0.00\n",
            "iteration:  373 score: 0.51 uncertainty: 0.00\n",
            "iteration:  374 score: 0.51 uncertainty: 0.00\n",
            "iteration:  375 score: 0.51 uncertainty: 0.00\n",
            "iteration:  376 score: 0.51 uncertainty: 0.00\n",
            "iteration:  377 score: 0.51 uncertainty: 0.00\n",
            "iteration:  378 score: 0.51 uncertainty: 0.00\n",
            "iteration:  379 score: 0.54 uncertainty: 0.00\n",
            "iteration:  380 score: 0.53 uncertainty: 0.00\n",
            "iteration:  381 score: 0.57 uncertainty: 0.16\n",
            "iteration:  382 score: 0.53 uncertainty: 0.00\n",
            "iteration:  383 score: 0.53 uncertainty: 0.00\n",
            "iteration:  384 score: 0.53 uncertainty: 0.00\n",
            "iteration:  385 score: 0.51 uncertainty: 0.00\n",
            "iteration:  386 score: 0.51 uncertainty: 0.00\n",
            "iteration:  387 score: 0.51 uncertainty: 0.00\n",
            "iteration:  388 score: 0.51 uncertainty: 0.00\n",
            "iteration:  389 score: 0.51 uncertainty: 0.00\n",
            "iteration:  390 score: 0.51 uncertainty: 0.00\n",
            "iteration:  391 score: 0.51 uncertainty: 0.00\n",
            "iteration:  392 score: 0.49 uncertainty: 0.04\n",
            "iteration:  393 score: 0.52 uncertainty: 0.00\n",
            "iteration:  394 score: 0.52 uncertainty: 0.00\n",
            "iteration:  395 score: 0.51 uncertainty: 0.01\n",
            "iteration:  396 score: 0.51 uncertainty: 0.01\n",
            "iteration:  397 score: 0.51 uncertainty: 0.01\n",
            "iteration:  398 score: 0.51 uncertainty: 0.00\n",
            "iteration:  399 score: 0.51 uncertainty: 0.00\n",
            "iteration:  400 score: 0.51 uncertainty: 0.00\n",
            "iteration:  401 score: 0.51 uncertainty: 0.00\n",
            "iteration:  402 score: 0.52 uncertainty: 0.00\n",
            "iteration:  403 score: 0.51 uncertainty: 0.00\n",
            "iteration:  404 score: 0.50 uncertainty: 0.10\n",
            "iteration:  405 score: 0.51 uncertainty: 0.00\n",
            "iteration:  406 score: 0.51 uncertainty: 0.00\n",
            "iteration:  407 score: 0.51 uncertainty: 0.00\n",
            "iteration:  408 score: 0.51 uncertainty: 0.00\n",
            "iteration:  409 score: 0.51 uncertainty: 0.00\n",
            "iteration:  410 score: 0.51 uncertainty: 0.00\n",
            "iteration:  411 score: 0.52 uncertainty: 0.00\n",
            "iteration:  412 score: 0.52 uncertainty: 0.00\n",
            "iteration:  413 score: 0.52 uncertainty: 0.00\n",
            "iteration:  414 score: 0.52 uncertainty: 0.00\n",
            "iteration:  415 score: 0.52 uncertainty: 0.00\n",
            "iteration:  416 score: 0.52 uncertainty: 0.00\n",
            "iteration:  417 score: 0.52 uncertainty: 0.00\n",
            "iteration:  418 score: 0.52 uncertainty: 0.00\n",
            "iteration:  419 score: 0.52 uncertainty: 0.00\n",
            "iteration:  420 score: 0.52 uncertainty: 0.00\n",
            "iteration:  421 score: 0.52 uncertainty: 0.00\n",
            "iteration:  422 score: 0.52 uncertainty: 0.00\n",
            "iteration:  423 score: 0.52 uncertainty: 0.00\n",
            "iteration:  424 score: 0.52 uncertainty: 0.00\n",
            "iteration:  425 score: 0.52 uncertainty: 0.00\n",
            "iteration:  426 score: 0.52 uncertainty: 0.00\n",
            "iteration:  427 score: 0.52 uncertainty: 0.00\n",
            "iteration:  428 score: 0.52 uncertainty: 0.00\n",
            "iteration:  429 score: 0.52 uncertainty: 0.00\n",
            "iteration:  430 score: 0.52 uncertainty: 0.00\n",
            "iteration:  431 score: 0.52 uncertainty: 0.00\n",
            "iteration:  432 score: 0.52 uncertainty: 0.00\n",
            "iteration:  433 score: 0.52 uncertainty: 0.00\n",
            "iteration:  434 score: 0.52 uncertainty: 0.00\n",
            "iteration:  435 score: 0.48 uncertainty: 0.31\n",
            "iteration:  436 score: 0.50 uncertainty: 0.03\n",
            "iteration:  437 score: 0.55 uncertainty: 0.01\n",
            "iteration:  438 score: 0.54 uncertainty: 0.01\n",
            "iteration:  439 score: 0.54 uncertainty: 0.00\n",
            "iteration:  440 score: 0.53 uncertainty: 0.00\n",
            "iteration:  441 score: 0.53 uncertainty: 0.00\n",
            "iteration:  442 score: 0.53 uncertainty: 0.00\n",
            "iteration:  443 score: 0.53 uncertainty: 0.01\n",
            "iteration:  444 score: 0.53 uncertainty: 0.01\n",
            "iteration:  445 score: 0.53 uncertainty: 0.01\n",
            "iteration:  446 score: 0.53 uncertainty: 0.01\n",
            "iteration:  447 score: 0.53 uncertainty: 0.01\n",
            "iteration:  448 score: 0.53 uncertainty: 0.01\n",
            "iteration:  449 score: 0.53 uncertainty: 0.01\n",
            "iteration:  450 score: 0.53 uncertainty: 0.01\n",
            "iteration:  451 score: 0.53 uncertainty: 0.01\n",
            "iteration:  452 score: 0.53 uncertainty: 0.01\n",
            "iteration:  453 score: 0.53 uncertainty: 0.01\n",
            "iteration:  454 score: 0.53 uncertainty: 0.01\n",
            "iteration:  455 score: 0.53 uncertainty: 0.01\n",
            "iteration:  456 score: 0.53 uncertainty: 0.01\n",
            "iteration:  457 score: 0.53 uncertainty: 0.01\n",
            "iteration:  458 score: 0.54 uncertainty: 0.01\n",
            "iteration:  459 score: 0.54 uncertainty: 0.01\n",
            "iteration:  460 score: 0.54 uncertainty: 0.01\n",
            "iteration:  461 score: 0.54 uncertainty: 0.00\n",
            "iteration:  462 score: 0.54 uncertainty: 0.00\n",
            "iteration:  463 score: 0.54 uncertainty: 0.00\n",
            "iteration:  464 score: 0.54 uncertainty: 0.00\n",
            "iteration:  465 score: 0.54 uncertainty: 0.00\n",
            "iteration:  466 score: 0.53 uncertainty: 0.00\n",
            "iteration:  467 score: 0.53 uncertainty: 0.00\n",
            "iteration:  468 score: 0.53 uncertainty: 0.00\n",
            "iteration:  469 score: 0.53 uncertainty: 0.00\n",
            "iteration:  470 score: 0.53 uncertainty: 0.00\n",
            "iteration:  471 score: 0.53 uncertainty: 0.00\n",
            "iteration:  472 score: 0.53 uncertainty: 0.00\n",
            "iteration:  473 score: 0.53 uncertainty: 0.00\n",
            "iteration:  474 score: 0.53 uncertainty: 0.00\n",
            "iteration:  475 score: 0.53 uncertainty: 0.00\n",
            "iteration:  476 score: 0.53 uncertainty: 0.00\n",
            "iteration:  477 score: 0.53 uncertainty: 0.00\n",
            "iteration:  478 score: 0.53 uncertainty: 0.00\n",
            "iteration:  479 score: 0.53 uncertainty: 0.00\n",
            "iteration:  480 score: 0.50 uncertainty: 0.02\n",
            "iteration:  481 score: 0.55 uncertainty: 0.00\n",
            "iteration:  482 score: 0.54 uncertainty: 0.00\n",
            "iteration:  483 score: 0.54 uncertainty: 0.00\n",
            "iteration:  484 score: 0.53 uncertainty: 0.00\n",
            "iteration:  485 score: 0.54 uncertainty: 0.00\n",
            "iteration:  486 score: 0.53 uncertainty: 0.00\n",
            "iteration:  487 score: 0.47 uncertainty: 0.02\n",
            "iteration:  488 score: 0.51 uncertainty: 0.00\n",
            "iteration:  489 score: 0.50 uncertainty: 0.00\n",
            "iteration:  490 score: 0.51 uncertainty: 0.00\n",
            "iteration:  491 score: 0.50 uncertainty: 0.00\n",
            "iteration:  492 score: 0.50 uncertainty: 0.00\n",
            "iteration:  493 score: 0.50 uncertainty: 0.00\n",
            "iteration:  494 score: 0.50 uncertainty: 0.00\n",
            "iteration:  495 score: 0.50 uncertainty: 0.00\n",
            "iteration:  496 score: 0.50 uncertainty: 0.00\n",
            "iteration:  497 score: 0.50 uncertainty: 0.00\n",
            "iteration:  498 score: 0.50 uncertainty: 0.00\n",
            "iteration:  499 score: 0.50 uncertainty: 0.00\n",
            "iteration:  500 score: 0.50 uncertainty: 0.00\n",
            "iteration:  501 score: 0.51 uncertainty: 0.02\n",
            "iteration:  502 score: 0.50 uncertainty: 0.00\n",
            "iteration:  503 score: 0.50 uncertainty: 0.00\n",
            "iteration:  504 score: 0.50 uncertainty: 0.00\n",
            "iteration:  505 score: 0.50 uncertainty: 0.00\n",
            "iteration:  506 score: 0.50 uncertainty: 0.00\n",
            "iteration:  507 score: 0.50 uncertainty: 0.00\n",
            "iteration:  508 score: 0.50 uncertainty: 0.00\n",
            "iteration:  509 score: 0.50 uncertainty: 0.00\n",
            "iteration:  510 score: 0.50 uncertainty: 0.00\n",
            "iteration:  511 score: 0.50 uncertainty: 0.00\n",
            "iteration:  512 score: 0.50 uncertainty: 0.00\n",
            "iteration:  513 score: 0.51 uncertainty: 0.00\n",
            "iteration:  514 score: 0.50 uncertainty: 0.09\n",
            "iteration:  515 score: 0.50 uncertainty: 0.08\n",
            "iteration:  516 score: 0.50 uncertainty: 0.07\n",
            "iteration:  517 score: 0.50 uncertainty: 0.06\n",
            "iteration:  518 score: 0.50 uncertainty: 0.05\n",
            "iteration:  519 score: 0.50 uncertainty: 0.04\n",
            "iteration:  520 score: 0.50 uncertainty: 0.04\n",
            "iteration:  521 score: 0.50 uncertainty: 0.03\n",
            "iteration:  522 score: 0.50 uncertainty: 0.03\n",
            "iteration:  523 score: 0.50 uncertainty: 0.02\n",
            "iteration:  524 score: 0.50 uncertainty: 0.02\n",
            "iteration:  525 score: 0.50 uncertainty: 0.01\n",
            "iteration:  526 score: 0.50 uncertainty: 0.01\n",
            "iteration:  527 score: 0.50 uncertainty: 0.01\n",
            "iteration:  528 score: 0.50 uncertainty: 0.00\n",
            "iteration:  529 score: 0.50 uncertainty: 0.00\n",
            "iteration:  530 score: 0.50 uncertainty: 0.00\n",
            "iteration:  531 score: 0.50 uncertainty: 0.00\n",
            "iteration:  532 score: 0.50 uncertainty: 0.00\n",
            "iteration:  533 score: 0.50 uncertainty: 0.00\n",
            "iteration:  534 score: 0.50 uncertainty: 0.00\n",
            "iteration:  535 score: 0.50 uncertainty: 0.00\n",
            "iteration:  536 score: 0.49 uncertainty: 0.03\n",
            "iteration:  537 score: 0.51 uncertainty: 0.01\n",
            "iteration:  538 score: 0.50 uncertainty: 0.00\n",
            "iteration:  539 score: 0.50 uncertainty: 0.00\n",
            "iteration:  540 score: 0.50 uncertainty: 0.00\n",
            "iteration:  541 score: 0.50 uncertainty: 0.00\n",
            "iteration:  542 score: 0.50 uncertainty: 0.00\n",
            "iteration:  543 score: 0.50 uncertainty: 0.00\n",
            "iteration:  544 score: 0.50 uncertainty: 0.00\n",
            "iteration:  545 score: 0.50 uncertainty: 0.00\n",
            "iteration:  546 score: 0.50 uncertainty: 0.00\n",
            "iteration:  547 score: 0.53 uncertainty: 0.12\n",
            "iteration:  548 score: 0.50 uncertainty: 0.00\n",
            "iteration:  549 score: 0.50 uncertainty: 0.00\n",
            "iteration:  550 score: 0.50 uncertainty: 0.00\n",
            "iteration:  551 score: 0.50 uncertainty: 0.00\n",
            "iteration:  552 score: 0.50 uncertainty: 0.00\n",
            "iteration:  553 score: 0.50 uncertainty: 0.00\n",
            "iteration:  554 score: 0.50 uncertainty: 0.00\n",
            "iteration:  555 score: 0.50 uncertainty: 0.00\n",
            "iteration:  556 score: 0.50 uncertainty: 0.00\n",
            "iteration:  557 score: 0.50 uncertainty: 0.00\n",
            "iteration:  558 score: 0.50 uncertainty: 0.00\n",
            "iteration:  559 score: 0.50 uncertainty: 0.00\n",
            "iteration:  560 score: 0.50 uncertainty: 0.00\n",
            "iteration:  561 score: 0.50 uncertainty: 0.00\n",
            "iteration:  562 score: 0.50 uncertainty: 0.00\n",
            "iteration:  563 score: 0.50 uncertainty: 0.00\n",
            "iteration:  564 score: 0.49 uncertainty: 0.01\n",
            "iteration:  565 score: 0.51 uncertainty: 0.00\n",
            "iteration:  566 score: 0.50 uncertainty: 0.00\n",
            "iteration:  567 score: 0.50 uncertainty: 0.00\n",
            "iteration:  568 score: 0.50 uncertainty: 0.00\n",
            "iteration:  569 score: 0.50 uncertainty: 0.00\n",
            "iteration:  570 score: 0.50 uncertainty: 0.00\n",
            "iteration:  571 score: 0.48 uncertainty: 0.03\n",
            "iteration:  572 score: 0.54 uncertainty: 0.08\n",
            "iteration:  573 score: 0.50 uncertainty: 0.00\n",
            "iteration:  574 score: 0.50 uncertainty: 0.00\n",
            "iteration:  575 score: 0.50 uncertainty: 0.00\n",
            "iteration:  576 score: 0.57 uncertainty: 0.31\n",
            "iteration:  577 score: 0.50 uncertainty: 0.00\n",
            "iteration:  578 score: 0.51 uncertainty: 0.00\n",
            "iteration:  579 score: 0.50 uncertainty: 0.00\n",
            "iteration:  580 score: 0.50 uncertainty: 0.00\n",
            "iteration:  581 score: 0.50 uncertainty: 0.00\n",
            "iteration:  582 score: 0.50 uncertainty: 0.00\n",
            "iteration:  583 score: 0.50 uncertainty: 0.00\n",
            "iteration:  584 score: 0.50 uncertainty: 0.00\n",
            "iteration:  585 score: 0.50 uncertainty: 0.00\n",
            "iteration:  586 score: 0.50 uncertainty: 0.00\n",
            "iteration:  587 score: 0.50 uncertainty: 0.00\n",
            "iteration:  588 score: 0.50 uncertainty: 0.00\n",
            "iteration:  589 score: 0.50 uncertainty: 0.00\n",
            "iteration:  590 score: 0.50 uncertainty: 0.00\n",
            "iteration:  591 score: 0.50 uncertainty: 0.00\n",
            "iteration:  592 score: 0.50 uncertainty: 0.00\n",
            "iteration:  593 score: 0.50 uncertainty: 0.00\n",
            "iteration:  594 score: 0.51 uncertainty: 0.00\n",
            "iteration:  595 score: 0.50 uncertainty: 0.00\n",
            "iteration:  596 score: 0.39 uncertainty: 0.10\n",
            "iteration:  597 score: 0.55 uncertainty: 0.02\n",
            "iteration:  598 score: 0.54 uncertainty: 0.00\n",
            "iteration:  599 score: 0.51 uncertainty: 0.00\n",
            "iteration:  600 score: 0.51 uncertainty: 0.00\n",
            "iteration:  601 score: 0.50 uncertainty: 0.00\n",
            "iteration:  602 score: 0.50 uncertainty: 0.00\n",
            "iteration:  603 score: 0.50 uncertainty: 0.00\n",
            "iteration:  604 score: 0.51 uncertainty: 0.00\n",
            "iteration:  605 score: 0.50 uncertainty: 0.00\n",
            "iteration:  606 score: 0.51 uncertainty: 0.00\n",
            "iteration:  607 score: 0.50 uncertainty: 0.00\n",
            "iteration:  608 score: 0.50 uncertainty: 0.00\n",
            "iteration:  609 score: 0.51 uncertainty: 0.00\n",
            "iteration:  610 score: 0.50 uncertainty: 0.00\n",
            "iteration:  611 score: 0.50 uncertainty: 0.00\n",
            "iteration:  612 score: 0.51 uncertainty: 0.00\n",
            "iteration:  613 score: 0.50 uncertainty: 0.00\n",
            "iteration:  614 score: 0.50 uncertainty: 0.00\n",
            "iteration:  615 score: 0.49 uncertainty: 0.01\n",
            "iteration:  616 score: 0.51 uncertainty: 0.00\n",
            "iteration:  617 score: 0.51 uncertainty: 0.00\n",
            "iteration:  618 score: 0.50 uncertainty: 0.00\n",
            "iteration:  619 score: 0.50 uncertainty: 0.00\n",
            "iteration:  620 score: 0.50 uncertainty: 0.00\n",
            "iteration:  621 score: 0.53 uncertainty: 0.14\n",
            "iteration:  622 score: 0.56 uncertainty: 0.00\n",
            "iteration:  623 score: 0.57 uncertainty: 0.00\n",
            "iteration:  624 score: 0.56 uncertainty: 0.00\n",
            "iteration:  625 score: 0.56 uncertainty: 0.00\n",
            "iteration:  626 score: 0.56 uncertainty: 0.00\n",
            "iteration:  627 score: 0.56 uncertainty: 0.00\n",
            "iteration:  628 score: 0.56 uncertainty: 0.00\n",
            "iteration:  629 score: 0.56 uncertainty: 0.00\n",
            "iteration:  630 score: 0.56 uncertainty: 0.00\n",
            "iteration:  631 score: 0.57 uncertainty: 0.00\n",
            "iteration:  632 score: 0.56 uncertainty: 0.00\n",
            "iteration:  633 score: 0.56 uncertainty: 0.00\n",
            "iteration:  634 score: 0.56 uncertainty: 0.00\n",
            "iteration:  635 score: 0.56 uncertainty: 0.00\n",
            "iteration:  636 score: 0.56 uncertainty: 0.00\n",
            "iteration:  637 score: 0.56 uncertainty: 0.00\n",
            "iteration:  638 score: 0.56 uncertainty: 0.00\n",
            "iteration:  639 score: 0.56 uncertainty: 0.00\n",
            "iteration:  640 score: 0.56 uncertainty: 0.00\n",
            "iteration:  641 score: 0.56 uncertainty: 0.00\n",
            "iteration:  642 score: 0.56 uncertainty: 0.00\n",
            "iteration:  643 score: 0.57 uncertainty: 0.00\n",
            "iteration:  644 score: 0.56 uncertainty: 0.00\n",
            "iteration:  645 score: 0.56 uncertainty: 0.00\n",
            "iteration:  646 score: 0.57 uncertainty: 0.00\n",
            "iteration:  647 score: 0.56 uncertainty: 0.00\n",
            "iteration:  648 score: 0.56 uncertainty: 0.00\n",
            "iteration:  649 score: 0.56 uncertainty: 0.00\n",
            "iteration:  650 score: 0.56 uncertainty: 0.00\n",
            "iteration:  651 score: 0.56 uncertainty: 0.00\n",
            "iteration:  652 score: 0.56 uncertainty: 0.00\n",
            "iteration:  653 score: 0.56 uncertainty: 0.00\n",
            "iteration:  654 score: 0.56 uncertainty: 0.00\n",
            "iteration:  655 score: 0.56 uncertainty: 0.00\n",
            "iteration:  656 score: 0.56 uncertainty: 0.00\n",
            "iteration:  657 score: 0.56 uncertainty: 0.00\n",
            "iteration:  658 score: 0.56 uncertainty: 0.00\n",
            "iteration:  659 score: 0.56 uncertainty: 0.00\n",
            "iteration:  660 score: 0.57 uncertainty: 0.00\n",
            "iteration:  661 score: 0.57 uncertainty: 0.00\n",
            "iteration:  662 score: 0.57 uncertainty: 0.00\n",
            "iteration:  663 score: 0.57 uncertainty: 0.00\n",
            "iteration:  664 score: 0.57 uncertainty: 0.00\n",
            "iteration:  665 score: 0.57 uncertainty: 0.00\n",
            "iteration:  666 score: 0.57 uncertainty: 0.00\n",
            "iteration:  667 score: 0.57 uncertainty: 0.00\n",
            "iteration:  668 score: 0.57 uncertainty: 0.00\n",
            "iteration:  669 score: 0.57 uncertainty: 0.00\n",
            "iteration:  670 score: 0.57 uncertainty: 0.00\n",
            "iteration:  671 score: 0.63 uncertainty: 0.00\n",
            "iteration:  672 score: 0.57 uncertainty: 0.00\n",
            "iteration:  673 score: 0.59 uncertainty: 0.00\n",
            "iteration:  674 score: 0.59 uncertainty: 0.00\n",
            "iteration:  675 score: 0.59 uncertainty: 0.00\n",
            "iteration:  676 score: 0.59 uncertainty: 0.00\n",
            "iteration:  677 score: 0.59 uncertainty: 0.00\n",
            "iteration:  678 score: 0.58 uncertainty: 0.00\n",
            "iteration:  679 score: 0.57 uncertainty: 0.06\n",
            "iteration:  680 score: 0.60 uncertainty: 0.00\n",
            "iteration:  681 score: 0.58 uncertainty: 0.00\n",
            "iteration:  682 score: 0.58 uncertainty: 0.00\n",
            "iteration:  683 score: 0.60 uncertainty: 0.01\n",
            "iteration:  684 score: 0.58 uncertainty: 0.00\n",
            "iteration:  685 score: 0.59 uncertainty: 0.00\n",
            "iteration:  686 score: 0.59 uncertainty: 0.00\n",
            "iteration:  687 score: 0.59 uncertainty: 0.00\n",
            "iteration:  688 score: 0.59 uncertainty: 0.00\n",
            "iteration:  689 score: 0.59 uncertainty: 0.00\n",
            "iteration:  690 score: 0.59 uncertainty: 0.00\n",
            "iteration:  691 score: 0.59 uncertainty: 0.00\n",
            "iteration:  692 score: 0.59 uncertainty: 0.00\n",
            "iteration:  693 score: 0.59 uncertainty: 0.00\n",
            "iteration:  694 score: 0.59 uncertainty: 0.00\n",
            "iteration:  695 score: 0.59 uncertainty: 0.00\n",
            "iteration:  696 score: 0.61 uncertainty: 0.10\n",
            "iteration:  697 score: 0.60 uncertainty: 0.00\n",
            "iteration:  698 score: 0.59 uncertainty: 0.00\n",
            "iteration:  699 score: 0.59 uncertainty: 0.00\n",
            "iteration:  700 score: 0.59 uncertainty: 0.00\n",
            "iteration:  701 score: 0.59 uncertainty: 0.00\n",
            "iteration:  702 score: 0.59 uncertainty: 0.00\n",
            "iteration:  703 score: 0.59 uncertainty: 0.01\n",
            "iteration:  704 score: 0.59 uncertainty: 0.00\n",
            "iteration:  705 score: 0.59 uncertainty: 0.00\n",
            "iteration:  706 score: 0.59 uncertainty: 0.00\n",
            "iteration:  707 score: 0.59 uncertainty: 0.00\n",
            "iteration:  708 score: 0.59 uncertainty: 0.00\n",
            "iteration:  709 score: 0.59 uncertainty: 0.00\n",
            "iteration:  710 score: 0.59 uncertainty: 0.00\n",
            "iteration:  711 score: 0.59 uncertainty: 0.00\n",
            "iteration:  712 score: 0.59 uncertainty: 0.00\n",
            "iteration:  713 score: 0.59 uncertainty: 0.00\n",
            "iteration:  714 score: 0.59 uncertainty: 0.00\n",
            "iteration:  715 score: 0.59 uncertainty: 0.00\n",
            "iteration:  716 score: 0.59 uncertainty: 0.00\n",
            "iteration:  717 score: 0.59 uncertainty: 0.00\n",
            "iteration:  718 score: 0.59 uncertainty: 0.00\n",
            "iteration:  719 score: 0.59 uncertainty: 0.00\n",
            "iteration:  720 score: 0.59 uncertainty: 0.00\n",
            "iteration:  721 score: 0.59 uncertainty: 0.00\n",
            "iteration:  722 score: 0.59 uncertainty: 0.00\n",
            "iteration:  723 score: 0.59 uncertainty: 0.00\n",
            "iteration:  724 score: 0.59 uncertainty: 0.00\n",
            "iteration:  725 score: 0.59 uncertainty: 0.00\n",
            "iteration:  726 score: 0.59 uncertainty: 0.00\n",
            "iteration:  727 score: 0.59 uncertainty: 0.00\n",
            "iteration:  728 score: 0.59 uncertainty: 0.00\n",
            "iteration:  729 score: 0.59 uncertainty: 0.00\n",
            "iteration:  730 score: 0.59 uncertainty: 0.00\n",
            "iteration:  731 score: 0.59 uncertainty: 0.00\n",
            "iteration:  732 score: 0.59 uncertainty: 0.00\n",
            "iteration:  733 score: 0.59 uncertainty: 0.00\n",
            "iteration:  734 score: 0.59 uncertainty: 0.00\n",
            "iteration:  735 score: 0.59 uncertainty: 0.00\n",
            "iteration:  736 score: 0.59 uncertainty: 0.00\n",
            "iteration:  737 score: 0.59 uncertainty: 0.00\n",
            "iteration:  738 score: 0.59 uncertainty: 0.00\n",
            "iteration:  739 score: 0.59 uncertainty: 0.00\n",
            "iteration:  740 score: 0.60 uncertainty: 0.02\n",
            "iteration:  741 score: 0.59 uncertainty: 0.00\n",
            "iteration:  742 score: 0.59 uncertainty: 0.00\n",
            "iteration:  743 score: 0.59 uncertainty: 0.00\n",
            "iteration:  744 score: 0.59 uncertainty: 0.00\n",
            "iteration:  745 score: 0.60 uncertainty: 0.16\n",
            "iteration:  746 score: 0.59 uncertainty: 0.00\n",
            "iteration:  747 score: 0.59 uncertainty: 0.00\n",
            "iteration:  748 score: 0.60 uncertainty: 0.03\n",
            "iteration:  749 score: 0.59 uncertainty: 0.00\n",
            "iteration:  750 score: 0.59 uncertainty: 0.00\n",
            "iteration:  751 score: 0.60 uncertainty: 0.00\n",
            "iteration:  752 score: 0.59 uncertainty: 0.00\n",
            "iteration:  753 score: 0.59 uncertainty: 0.00\n",
            "iteration:  754 score: 0.59 uncertainty: 0.00\n",
            "iteration:  755 score: 0.59 uncertainty: 0.00\n",
            "iteration:  756 score: 0.59 uncertainty: 0.00\n",
            "iteration:  757 score: 0.59 uncertainty: 0.00\n",
            "iteration:  758 score: 0.59 uncertainty: 0.00\n",
            "iteration:  759 score: 0.59 uncertainty: 0.00\n",
            "iteration:  760 score: 0.59 uncertainty: 0.00\n",
            "iteration:  761 score: 0.59 uncertainty: 0.00\n",
            "iteration:  762 score: 0.59 uncertainty: 0.00\n",
            "iteration:  763 score: 0.59 uncertainty: 0.00\n",
            "iteration:  764 score: 0.59 uncertainty: 0.00\n",
            "iteration:  765 score: 0.59 uncertainty: 0.00\n",
            "iteration:  766 score: 0.59 uncertainty: 0.00\n",
            "iteration:  767 score: 0.59 uncertainty: 0.00\n",
            "iteration:  768 score: 0.59 uncertainty: 0.00\n",
            "iteration:  769 score: 0.59 uncertainty: 0.00\n",
            "iteration:  770 score: 0.59 uncertainty: 0.00\n",
            "iteration:  771 score: 0.59 uncertainty: 0.00\n",
            "iteration:  772 score: 0.59 uncertainty: 0.00\n",
            "iteration:  773 score: 0.59 uncertainty: 0.00\n",
            "iteration:  774 score: 0.59 uncertainty: 0.00\n",
            "iteration:  775 score: 0.59 uncertainty: 0.00\n",
            "iteration:  776 score: 0.59 uncertainty: 0.00\n",
            "iteration:  777 score: 0.59 uncertainty: 0.00\n",
            "iteration:  778 score: 0.59 uncertainty: 0.00\n",
            "iteration:  779 score: 0.59 uncertainty: 0.00\n",
            "iteration:  780 score: 0.58 uncertainty: 0.01\n",
            "iteration:  781 score: 0.61 uncertainty: 0.00\n",
            "iteration:  782 score: 0.60 uncertainty: 0.00\n",
            "iteration:  783 score: 0.60 uncertainty: 0.00\n",
            "iteration:  784 score: 0.60 uncertainty: 0.00\n",
            "iteration:  785 score: 0.60 uncertainty: 0.00\n",
            "iteration:  786 score: 0.60 uncertainty: 0.00\n",
            "iteration:  787 score: 0.60 uncertainty: 0.00\n",
            "iteration:  788 score: 0.60 uncertainty: 0.00\n",
            "iteration:  789 score: 0.60 uncertainty: 0.00\n",
            "iteration:  790 score: 0.60 uncertainty: 0.00\n",
            "iteration:  791 score: 0.63 uncertainty: 0.07\n",
            "iteration:  792 score: 0.60 uncertainty: 0.00\n",
            "iteration:  793 score: 0.60 uncertainty: 0.00\n",
            "iteration:  794 score: 0.60 uncertainty: 0.00\n",
            "iteration:  795 score: 0.60 uncertainty: 0.00\n",
            "iteration:  796 score: 0.60 uncertainty: 0.00\n",
            "iteration:  797 score: 0.60 uncertainty: 0.00\n",
            "iteration:  798 score: 0.60 uncertainty: 0.00\n",
            "iteration:  799 score: 0.60 uncertainty: 0.00\n",
            "iteration:  800 score: 0.60 uncertainty: 0.00\n",
            "iteration:  801 score: 0.60 uncertainty: 0.00\n",
            "iteration:  802 score: 0.60 uncertainty: 0.00\n",
            "iteration:  803 score: 0.60 uncertainty: 0.00\n",
            "iteration:  804 score: 0.60 uncertainty: 0.00\n",
            "iteration:  805 score: 0.60 uncertainty: 0.00\n",
            "iteration:  806 score: 0.60 uncertainty: 0.00\n",
            "iteration:  807 score: 0.60 uncertainty: 0.00\n",
            "iteration:  808 score: 0.60 uncertainty: 0.00\n",
            "iteration:  809 score: 0.60 uncertainty: 0.00\n",
            "iteration:  810 score: 0.60 uncertainty: 0.00\n",
            "iteration:  811 score: 0.60 uncertainty: 0.00\n",
            "iteration:  812 score: 0.60 uncertainty: 0.00\n",
            "iteration:  813 score: 0.60 uncertainty: 0.00\n",
            "iteration:  814 score: 0.60 uncertainty: 0.00\n",
            "iteration:  815 score: 0.60 uncertainty: 0.00\n",
            "iteration:  816 score: 0.60 uncertainty: 0.00\n",
            "iteration:  817 score: 0.60 uncertainty: 0.00\n",
            "iteration:  818 score: 0.60 uncertainty: 0.00\n",
            "iteration:  819 score: 0.60 uncertainty: 0.00\n",
            "iteration:  820 score: 0.60 uncertainty: 0.00\n",
            "iteration:  821 score: 0.60 uncertainty: 0.00\n",
            "iteration:  822 score: 0.60 uncertainty: 0.00\n",
            "iteration:  823 score: 0.60 uncertainty: 0.00\n",
            "iteration:  824 score: 0.60 uncertainty: 0.00\n",
            "iteration:  825 score: 0.60 uncertainty: 0.00\n",
            "iteration:  826 score: 0.60 uncertainty: 0.00\n",
            "iteration:  827 score: 0.60 uncertainty: 0.00\n",
            "iteration:  828 score: 0.60 uncertainty: 0.00\n",
            "iteration:  829 score: 0.60 uncertainty: 0.00\n",
            "iteration:  830 score: 0.60 uncertainty: 0.00\n",
            "iteration:  831 score: 0.60 uncertainty: 0.00\n",
            "iteration:  832 score: 0.60 uncertainty: 0.00\n",
            "iteration:  833 score: 0.60 uncertainty: 0.00\n",
            "iteration:  834 score: 0.60 uncertainty: 0.00\n",
            "iteration:  835 score: 0.40 uncertainty: 0.02\n",
            "iteration:  836 score: 0.61 uncertainty: 0.00\n",
            "iteration:  837 score: 0.52 uncertainty: 0.00\n",
            "iteration:  838 score: 0.50 uncertainty: 0.00\n",
            "iteration:  839 score: 0.50 uncertainty: 0.00\n",
            "iteration:  840 score: 0.50 uncertainty: 0.00\n",
            "iteration:  841 score: 0.50 uncertainty: 0.00\n",
            "iteration:  842 score: 0.52 uncertainty: 0.00\n",
            "iteration:  843 score: 0.50 uncertainty: 0.00\n",
            "iteration:  844 score: 0.50 uncertainty: 0.00\n",
            "iteration:  845 score: 0.50 uncertainty: 0.00\n",
            "iteration:  846 score: 0.50 uncertainty: 0.00\n",
            "iteration:  847 score: 0.50 uncertainty: 0.00\n",
            "iteration:  848 score: 0.50 uncertainty: 0.00\n",
            "iteration:  849 score: 0.50 uncertainty: 0.00\n",
            "iteration:  850 score: 0.50 uncertainty: 0.00\n",
            "iteration:  851 score: 0.50 uncertainty: 0.00\n",
            "iteration:  852 score: 0.50 uncertainty: 0.00\n",
            "iteration:  853 score: 0.45 uncertainty: 0.00\n",
            "iteration:  854 score: 0.55 uncertainty: 0.00\n",
            "iteration:  855 score: 0.50 uncertainty: 0.00\n",
            "iteration:  856 score: 0.50 uncertainty: 0.00\n",
            "iteration:  857 score: 0.50 uncertainty: 0.00\n",
            "iteration:  858 score: 0.50 uncertainty: 0.00\n",
            "iteration:  859 score: 0.50 uncertainty: 0.00\n",
            "iteration:  860 score: 0.50 uncertainty: 0.00\n",
            "iteration:  861 score: 0.50 uncertainty: 0.00\n",
            "iteration:  862 score: 0.50 uncertainty: 0.00\n",
            "iteration:  863 score: 0.50 uncertainty: 0.00\n",
            "iteration:  864 score: 0.50 uncertainty: 0.00\n",
            "iteration:  865 score: 0.50 uncertainty: 0.00\n",
            "iteration:  866 score: 0.50 uncertainty: 0.00\n",
            "iteration:  867 score: 0.50 uncertainty: 0.00\n",
            "iteration:  868 score: 0.50 uncertainty: 0.00\n",
            "iteration:  869 score: 0.50 uncertainty: 0.00\n",
            "iteration:  870 score: 0.50 uncertainty: 0.00\n",
            "iteration:  871 score: 0.50 uncertainty: 0.00\n",
            "iteration:  872 score: 0.50 uncertainty: 0.00\n",
            "iteration:  873 score: 0.50 uncertainty: 0.00\n",
            "iteration:  874 score: 0.50 uncertainty: 0.00\n",
            "iteration:  875 score: 0.50 uncertainty: 0.00\n",
            "iteration:  876 score: 0.50 uncertainty: 0.00\n",
            "iteration:  877 score: 0.50 uncertainty: 0.00\n",
            "iteration:  878 score: 0.50 uncertainty: 0.00\n",
            "iteration:  879 score: 0.50 uncertainty: 0.00\n",
            "iteration:  880 score: 0.50 uncertainty: 0.00\n",
            "iteration:  881 score: 0.50 uncertainty: 0.00\n",
            "iteration:  882 score: 0.50 uncertainty: 0.00\n",
            "iteration:  883 score: 0.50 uncertainty: 0.00\n",
            "iteration:  884 score: 0.50 uncertainty: 0.00\n",
            "iteration:  885 score: 0.50 uncertainty: 0.00\n",
            "iteration:  886 score: 0.50 uncertainty: 0.00\n",
            "iteration:  887 score: 0.50 uncertainty: 0.00\n",
            "iteration:  888 score: 0.50 uncertainty: 0.00\n",
            "iteration:  889 score: 0.50 uncertainty: 0.00\n",
            "iteration:  890 score: 0.53 uncertainty: 0.00\n",
            "iteration:  891 score: 0.50 uncertainty: 0.00\n",
            "iteration:  892 score: 0.50 uncertainty: 0.00\n",
            "iteration:  893 score: 0.50 uncertainty: 0.00\n",
            "iteration:  894 score: 0.53 uncertainty: 0.00\n",
            "iteration:  895 score: 0.50 uncertainty: 0.00\n",
            "iteration:  896 score: 0.51 uncertainty: 0.03\n",
            "iteration:  897 score: 0.50 uncertainty: 0.01\n",
            "iteration:  898 score: 0.50 uncertainty: 0.00\n",
            "iteration:  899 score: 0.50 uncertainty: 0.00\n",
            "iteration:  900 score: 0.50 uncertainty: 0.00\n",
            "iteration:  901 score: 0.50 uncertainty: 0.00\n",
            "iteration:  902 score: 0.50 uncertainty: 0.00\n",
            "iteration:  903 score: 0.50 uncertainty: 0.00\n",
            "iteration:  904 score: 0.50 uncertainty: 0.00\n",
            "iteration:  905 score: 0.50 uncertainty: 0.00\n",
            "iteration:  906 score: 0.50 uncertainty: 0.00\n",
            "iteration:  907 score: 0.50 uncertainty: 0.00\n",
            "iteration:  908 score: 0.50 uncertainty: 0.00\n",
            "iteration:  909 score: 0.50 uncertainty: 0.00\n",
            "iteration:  910 score: 0.50 uncertainty: 0.00\n",
            "iteration:  911 score: 0.50 uncertainty: 0.00\n",
            "iteration:  912 score: 0.49 uncertainty: 0.07\n",
            "iteration:  913 score: 0.50 uncertainty: 0.00\n",
            "iteration:  914 score: 0.50 uncertainty: 0.00\n",
            "iteration:  915 score: 0.50 uncertainty: 0.00\n",
            "iteration:  916 score: 0.50 uncertainty: 0.00\n",
            "iteration:  917 score: 0.50 uncertainty: 0.00\n",
            "iteration:  918 score: 0.50 uncertainty: 0.00\n",
            "iteration:  919 score: 0.50 uncertainty: 0.00\n",
            "iteration:  920 score: 0.57 uncertainty: 0.14\n",
            "iteration:  921 score: 0.50 uncertainty: 0.00\n",
            "iteration:  922 score: 0.50 uncertainty: 0.00\n",
            "iteration:  923 score: 0.50 uncertainty: 0.00\n",
            "iteration:  924 score: 0.50 uncertainty: 0.00\n",
            "iteration:  925 score: 0.50 uncertainty: 0.00\n",
            "iteration:  926 score: 0.50 uncertainty: 0.00\n",
            "iteration:  927 score: 0.50 uncertainty: 0.00\n",
            "iteration:  928 score: 0.50 uncertainty: 0.00\n",
            "iteration:  929 score: 0.50 uncertainty: 0.00\n",
            "iteration:  930 score: 0.50 uncertainty: 0.00\n",
            "iteration:  931 score: 0.50 uncertainty: 0.00\n",
            "iteration:  932 score: 0.50 uncertainty: 0.00\n",
            "iteration:  933 score: 0.50 uncertainty: 0.00\n",
            "iteration:  934 score: 0.50 uncertainty: 0.00\n",
            "iteration:  935 score: 0.50 uncertainty: 0.00\n",
            "iteration:  936 score: 0.50 uncertainty: 0.00\n",
            "iteration:  937 score: 0.50 uncertainty: 0.00\n",
            "iteration:  938 score: 0.50 uncertainty: 0.00\n",
            "iteration:  939 score: 0.50 uncertainty: 0.00\n",
            "iteration:  940 score: 0.50 uncertainty: 0.00\n",
            "iteration:  941 score: 0.50 uncertainty: 0.00\n",
            "iteration:  942 score: 0.50 uncertainty: 0.00\n",
            "iteration:  943 score: 0.50 uncertainty: 0.00\n",
            "iteration:  944 score: 0.50 uncertainty: 0.00\n",
            "iteration:  945 score: 0.50 uncertainty: 0.00\n",
            "iteration:  946 score: 0.50 uncertainty: 0.00\n",
            "iteration:  947 score: 0.50 uncertainty: 0.00\n",
            "iteration:  948 score: 0.50 uncertainty: 0.00\n",
            "iteration:  949 score: 0.50 uncertainty: 0.00\n",
            "iteration:  950 score: 0.53 uncertainty: 0.06\n",
            "iteration:  951 score: 0.50 uncertainty: 0.00\n",
            "iteration:  952 score: 0.50 uncertainty: 0.00\n",
            "iteration:  953 score: 0.50 uncertainty: 0.00\n",
            "iteration:  954 score: 0.50 uncertainty: 0.00\n",
            "iteration:  955 score: 0.50 uncertainty: 0.00\n",
            "iteration:  956 score: 0.50 uncertainty: 0.00\n",
            "iteration:  957 score: 0.50 uncertainty: 0.00\n",
            "iteration:  958 score: 0.50 uncertainty: 0.00\n",
            "iteration:  959 score: 0.50 uncertainty: 0.00\n",
            "iteration:  960 score: 0.50 uncertainty: 0.00\n",
            "iteration:  961 score: 0.50 uncertainty: 0.00\n",
            "iteration:  962 score: 0.53 uncertainty: 0.00\n",
            "iteration:  963 score: 0.50 uncertainty: 0.00\n",
            "iteration:  964 score: 0.51 uncertainty: 0.02\n",
            "iteration:  965 score: 0.50 uncertainty: 0.00\n",
            "iteration:  966 score: 0.50 uncertainty: 0.00\n",
            "iteration:  967 score: 0.50 uncertainty: 0.00\n",
            "iteration:  968 score: 0.50 uncertainty: 0.00\n",
            "iteration:  969 score: 0.51 uncertainty: 0.15\n",
            "iteration:  970 score: 0.50 uncertainty: 0.00\n",
            "iteration:  971 score: 0.53 uncertainty: 0.00\n",
            "iteration:  972 score: 0.50 uncertainty: 0.00\n",
            "iteration:  973 score: 0.50 uncertainty: 0.00\n",
            "iteration:  974 score: 0.54 uncertainty: 0.09\n",
            "iteration:  975 score: 0.50 uncertainty: 0.00\n",
            "iteration:  976 score: 0.50 uncertainty: 0.00\n",
            "iteration:  977 score: 0.50 uncertainty: 0.00\n",
            "iteration:  978 score: 0.50 uncertainty: 0.00\n",
            "iteration:  979 score: 0.50 uncertainty: 0.00\n",
            "iteration:  980 score: 0.50 uncertainty: 0.00\n",
            "iteration:  981 score: 0.50 uncertainty: 0.00\n",
            "iteration:  982 score: 0.50 uncertainty: 0.00\n",
            "iteration:  983 score: 0.50 uncertainty: 0.00\n",
            "iteration:  984 score: 0.50 uncertainty: 0.00\n",
            "iteration:  985 score: 0.50 uncertainty: 0.00\n",
            "iteration:  986 score: 0.50 uncertainty: 0.00\n",
            "iteration:  987 score: 0.50 uncertainty: 0.00\n",
            "iteration:  988 score: 0.50 uncertainty: 0.00\n",
            "iteration:  989 score: 0.50 uncertainty: 0.00\n",
            "iteration:  990 score: 0.50 uncertainty: 0.00\n",
            "iteration:  991 score: 0.50 uncertainty: 0.00\n",
            "iteration:  992 score: 0.50 uncertainty: 0.00\n",
            "iteration:  993 score: 0.50 uncertainty: 0.00\n",
            "iteration:  994 score: 0.50 uncertainty: 0.00\n",
            "iteration:  995 score: 0.50 uncertainty: 0.00\n",
            "iteration:  996 score: 0.50 uncertainty: 0.00\n",
            "iteration:  997 score: 0.50 uncertainty: 0.00\n",
            "iteration:  998 score: 0.50 uncertainty: 0.00\n",
            "iteration:  999 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1000 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1001 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1002 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1003 score: 0.50 uncertainty: 0.01\n",
            "iteration:  1004 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1005 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1006 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1007 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1008 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1009 score: 0.54 uncertainty: 0.01\n",
            "iteration:  1010 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1011 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1012 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1013 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1014 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1015 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1016 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1017 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1018 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1019 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1020 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1021 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1022 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1023 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1024 score: 0.51 uncertainty: 0.01\n",
            "iteration:  1025 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1026 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1027 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1028 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1029 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1030 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1031 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1032 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1033 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1034 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1035 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1036 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1037 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1038 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1039 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1040 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1041 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1042 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1043 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1044 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1045 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1046 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1047 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1048 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1049 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1050 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1051 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1052 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1053 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1054 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1055 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1056 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1057 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1058 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1059 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1060 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1061 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1062 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1063 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1064 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1065 score: 0.54 uncertainty: 0.00\n",
            "iteration:  1066 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1067 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1068 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1069 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1070 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1071 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1072 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1073 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1074 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1075 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1076 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1077 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1078 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1079 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1080 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1081 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1082 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1083 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1084 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1085 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1086 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1087 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1088 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1089 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1090 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1091 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1092 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1093 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1094 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1095 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1096 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1097 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1098 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1099 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1100 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1101 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1102 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1103 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1104 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1105 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1106 score: 0.51 uncertainty: 0.01\n",
            "iteration:  1107 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1108 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1109 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1110 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1111 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1112 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1113 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1114 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1115 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1116 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1117 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1118 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1119 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1120 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1121 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1122 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1123 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1124 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1125 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1126 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1127 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1128 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1129 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1130 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1131 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1132 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1133 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1134 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1135 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1136 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1137 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1138 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1139 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1140 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1141 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1142 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1143 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1144 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1145 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1146 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1147 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1148 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1149 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1150 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1151 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1152 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1153 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1154 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1155 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1156 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1157 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1158 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1159 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1160 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1161 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1162 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1163 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1164 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1165 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1166 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1167 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1168 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1169 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1170 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1171 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1172 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1173 score: 0.46 uncertainty: 0.75\n",
            "iteration:  1174 score: 0.55 uncertainty: 0.00\n",
            "iteration:  1175 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1176 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1177 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1178 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1179 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1180 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1181 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1182 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1183 score: 0.47 uncertainty: 0.04\n",
            "iteration:  1184 score: 0.60 uncertainty: 0.00\n",
            "iteration:  1185 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1186 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1187 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1188 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1189 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1190 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1191 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1192 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1193 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1194 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1195 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1196 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1197 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1198 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1199 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1200 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1201 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1202 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1203 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1204 score: 0.56 uncertainty: 0.00\n",
            "iteration:  1205 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1206 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1207 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1208 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1209 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1210 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1211 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1212 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1213 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1214 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1215 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1216 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1217 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1218 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1219 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1220 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1221 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1222 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1223 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1224 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1225 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1226 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1227 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1228 score: 0.49 uncertainty: 0.75\n",
            "iteration:  1229 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1230 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1231 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1232 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1233 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1234 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1235 score: 0.57 uncertainty: 0.00\n",
            "iteration:  1236 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1237 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1238 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1239 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1240 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1241 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1242 score: 0.36 uncertainty: 0.38\n",
            "iteration:  1243 score: 0.58 uncertainty: 0.00\n",
            "iteration:  1244 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1245 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1246 score: 0.56 uncertainty: 0.33\n",
            "iteration:  1247 score: 0.60 uncertainty: 0.00\n",
            "iteration:  1248 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1249 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1250 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1251 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1252 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1253 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1254 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1255 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1256 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1257 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1258 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1259 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1260 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1261 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1262 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1263 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1264 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1265 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1266 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1267 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1268 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1269 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1270 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1271 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1272 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1273 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1274 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1275 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1276 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1277 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1278 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1279 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1280 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1281 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1282 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1283 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1284 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1285 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1286 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1287 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1288 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1289 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1290 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1291 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1292 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1293 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1294 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1295 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1296 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1297 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1298 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1299 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1300 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1301 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1302 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1303 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1304 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1305 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1306 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1307 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1308 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1309 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1310 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1311 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1312 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1313 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1314 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1315 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1316 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1317 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1318 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1319 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1320 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1321 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1322 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1323 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1324 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1325 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1326 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1327 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1328 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1329 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1330 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1331 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1332 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1333 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1334 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1335 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1336 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1337 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1338 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1339 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1340 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1341 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1342 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1343 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1344 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1345 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1346 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1347 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1348 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1349 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1350 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1351 score: 0.62 uncertainty: 0.00\n",
            "iteration:  1352 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1353 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1354 score: 0.41 uncertainty: 0.15\n",
            "iteration:  1355 score: 0.67 uncertainty: 0.00\n",
            "iteration:  1356 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1357 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1358 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1359 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1360 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1361 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1362 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1363 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1364 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1365 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1366 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1367 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1368 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1369 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1370 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1371 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1372 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1373 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1374 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1375 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1376 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1377 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1378 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1379 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1380 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1381 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1382 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1383 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1384 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1385 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1386 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1387 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1388 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1389 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1390 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1391 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1392 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1393 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1394 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1395 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1396 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1397 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1398 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1399 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1400 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1401 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1402 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1403 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1404 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1405 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1406 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1407 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1408 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1409 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1410 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1411 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1412 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1413 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1414 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1415 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1416 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1417 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1418 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1419 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1420 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1421 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1422 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1423 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1424 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1425 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1426 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1427 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1428 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1429 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1430 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1431 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1432 score: 0.56 uncertainty: 0.12\n",
            "iteration:  1433 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1434 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1435 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1436 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1437 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1438 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1439 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1440 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1441 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1442 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1443 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1444 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1445 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1446 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1447 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1448 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1449 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1450 score: 0.23 uncertainty: 0.46\n",
            "iteration:  1451 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1452 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1453 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1454 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1455 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1456 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1457 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1458 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1459 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1460 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1461 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1462 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1463 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1464 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1465 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1466 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1467 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1468 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1469 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1470 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1471 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1472 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1473 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1474 score: 0.53 uncertainty: 0.06\n",
            "iteration:  1475 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1476 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1477 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1478 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1479 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1480 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1481 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1482 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1483 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1484 score: 0.50 uncertainty: 0.00\n",
            "iteration:  1485 score: 0.50 uncertainty: 0.00\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0wzt9M_L1y3L",
        "outputId": "80e14c66-f8f2-46f9-b2cf-374e8a22394e",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "history[1].iteration"
      ],
      "execution_count": 78,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "1"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 78
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "n7kHNdXJ1y6W",
        "outputId": "3f2b66e1-3dec-465d-8af9-9238bb79cf92",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "len(history)"
      ],
      "execution_count": 79,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "1486"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 79
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "RssB0AEQOlc8",
        "outputId": "18298b7d-2ac2-4f5b-cc50-6a6145463acd",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 296
        }
      },
      "source": [
        "plt.plot(\n",
        "    [hist.iteration for hist in history if not isinstance(hist, float)],\n",
        "    [hist.uncertainty for hist in history if not isinstance(hist, float)],\n",
        "    color='red',\n",
        "    marker='o',\n",
        "    linestyle='dashed',\n",
        "    linewidth=1,\n",
        "    markersize=8\n",
        ")\n",
        "plt.plot(\n",
        "    [hist.iteration for hist in history if not isinstance(hist, float)],\n",
        "    [hist.score for hist in history if not isinstance(hist, float)],\n",
        "    color='blue',\n",
        "    marker='x',\n",
        "    linestyle='dashed',\n",
        "    linewidth=1,\n",
        "    markersize=8\n",
        ")\n",
        "\n",
        "plt.xlabel(\"iteration\")\n",
        "#plt.ylabel(\"uncertainty\")\n",
        "plt.legend([\"uncertainty\", 'score'])\n"
      ],
      "execution_count": 80,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.legend.Legend at 0x7fc8bb49b278>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 80
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEGCAYAAAB1iW6ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydd5gUVdaHf3cyw5BnCJJFcpYB0RVlwIQBXANgXllEYQ2IorjC6OIaSGsEFF2/XSMgoqIihp0xCw4gWYkiDKKMxBniDHO+P07fqeru6u6q6grdPfU+Tz3dXXXr1ukKp849955zBRHBw8PDwyP+SXJbAA8PDw8Pa/AUuoeHh0eC4Cl0Dw8PjwTBU+geHh4eCYKn0D08PDwShBS3DpydnU2tWrVy6/AeHh4eccmKFSv+IKIcrW2uKfRWrVph+fLlbh3ew8PDIy4RQvwSapvncvHw8PBIEDyF7uHh4ZEgeArdw8PDI0FwzYfukfiUl5ejuLgYx44dc1uUakFGRgaaNWuG1NRUt0XxcAlPoccDZWXAtGnArFnA3r1AgwbAmDHA+PFAVpbb0oWkuLgYtWrVQqtWrSCEcFuchIaIsHfvXhQXF6N169Zui+PhEp7LJdYpKwP69gWmTgX++AMg4s+pU3l9WZnbEobk2LFjaNCggafMHUAIgQYNGsR2a6isDHjoISAnB0hK4s+HHtK+h42U9ajCU+ixzrRpwNatQOCDeuwYr582zR25dOIpc+eI6XNtxDCJYyPGbTyFHuvMmhWszCXHjgGzZzsrj4eHGYwYJnFuxLiJp9Bjnb17o9seLyRIE/vdd9/Fhg0bIpZ7/vnn8corr4Qts2rVKixevNgq0dzFiGHiGTGm8RR6rNOgQXTb44EEaWJXVFToVui33XYbbrzxxrBlEkqhGzFMqosRYwOeQo91xowBMjK0t2VkAKNHOyuPHdjYxN6+fTu6dOlS9Xv69Ol4+OGH0b9/f9x///3o06cP2rVrh6+++goAcPLkSdx7773o0qULunXrhmeffRYAsGLFCpx77rno1asXLrzwQuzevRsA0L9/f4wdOxa5ubmYMmUKFi1ahPHjx6NHjx7YunUrXnzxRfTu3Rvdu3fHlVdeiSNHjgAAHn74YUyfPr2qjkBZTpw4gfz8fMybNw89evTAvHnz0LZtW5SUlAAAKisrcdppp1X9jnmMGCbVwYixCU+hxzrjxwNt2gQr9YwMXj9+vDtyWYlLTeyKigp8//33eOqpp/CPf/wDADBnzhxs374dq1atwpo1a3DdddehvLwcd9xxBxYsWIAVK1ZgxIgRePDBB6vqOXHiBJYvX44HH3wQgwcPxrRp07Bq1Sq0adMGV1xxBYqKirB69Wp07NgR//73v3XJkpaWhsmTJ2PYsGFYtWoVhg0bhuuvvx6vv/46AOCzzz5D9+7dkZOjmaMp9jBimFQHI8YmPIUe62RlAUuXAvfdx7+FYP/yfffx+hgehx7Eww+z/HJZsYKXP/4Iv5+0QkeN8t//11+jEueKK64AAPTq1Qvbt28HwIry1ltvRUoKh2jUr18fGzduxLp163D++eejR48e+Oc//4ni4uKqeoYNGxbyGOvWrUO/fv3QtWtXvP7661i/fr1uWQIZMWJEld/95Zdfxs0332zo/7qKEcMkAY2YqVOBwkLtbYWFvN0KPIUeD2RlAT4LEsuXA3v28O94UuYAK3QiZenVi5fs7PD7SSt0zhz//U85JeIhU1JSUFlZWfVbPU47PT0dAJCcnIyKioqQdRAROnfujFWrVmHVqlVYu3YtPvnkk6rtNWvWDLnvX/7yFzz33HNYu3YtHnrooZDjxPXI0rx5czRq1AgFBQX4/vvvMWjQoJDHjTmMGCaBZYH4NWJ89O4NDB0arNQLC3l9797WHMdT6PFG/fpuS2A9NjaxGzVqhD179mDv3r04fvw4Pvjgg7Dlzz//fLzwwgtVSnXfvn1o3749SkpK8N133wHglAahLO1atWqhtLS06ndpaSmaNGmC8vLyKneJXgLrAoCRI0fi+uuvx9VXX43k5GRD9bmONExKStiVFs4wURsxGRnxa8T4yMsD5s/3V+pSmc+fz9utwFPo8UZKAmZrsLGJnZqaivz8fPTp0wfnn38+OnToELb8yJEj0aJFC3Tr1g3du3fHG2+8gbS0NCxYsAD3338/unfvjh49euDbb7/V3H/48OGYNm0aevbsia1bt+KRRx7BGWecgT/96U8Rjx1IXl4eNmzYUNUpCgCDBw9GWVlZfLlbArn2WmDdOn1l27cHuna1Vx6HUCv1/HzrlTkAbk66sfTq1Ys8DAIQbdjgthS62WBE1tJSovx8opwcoqQk/szP5/UeVRQVFdHZZ58dcruhc+4WANHMmfrKLllC9Omn9srjME2a8CmYNMnc/gCWUwi9moDmXgLTtClQq5bbUtiDbGLLZrZHEE888QRmz55t2HUT12zbFrduFi0KC9l7NGYMD97Ky7PWQvdcLvHErl2RR4R4JCwTJkzAL7/8grPPPtttUZxj7FhgwgS3pbAE6TNv1Ai4665gn7oV6FLoQoiLhBAbhRBbhBBBZ1cI8aQQYpVv2SSEOGCdiB5+1KjhtgQeHtHx0kvAn/+sr+yJE8D+/fbK4wDqDtBrrwVq19buKI2WiC4XIUQygJkAzgdQDKBICLGIiKrim4noblX5OwD0tEY8Dz9ycoB69dyWwsMjOtq0AdLS9JcPNQIqjigqUjpA1S4WqdSLiqxxveix0PsA2EJE24joBIC5AIaEKX8NgDejF80jiJISJcjGwyNeycsD3tSpIp55BvjnP+2VxwHuu09R2MOGAaq4NOTl+Q+5jwY9naJNAexU/S4GcIZWQSFESwCtARSE2D4KwCgAaNGihSFBPQA0a8ZtNQ+PeEdv7vYuXRLCQldTVAQcP25P3VZ3ig4HsICITmptJKI5RJRLRLlxk4MiliguBgICTRIBp8KiPeKQu+4C/v53t6WwFCL97zOj6FHouwA0V/1u5lunxXB47hZ7KS93WwLLcSosOhrCpQbwMMippwKnn66v7Nq1wLJl9srjMLVrA3YF+epR6EUA2gohWgsh0sBKe1FgISFEBwD1AHxnrYgeVWRn68pfEm/YFRZ9+PBhXHLJJejevTu6dOmCefPmoaioCGeddRa6d++OPn36oLS0FMeOHcPNN9+Mrl27omfPnij0CfGf//wHgwcPxoABAzBw4EAcPnwYI0aMQJ8+fdCzZ0+89957Fp2BasbGjcAZml7basHq1UDLlvbUHdGHTkQVQojbAXwMIBnAy0S0XggxGRyxJJX7cABzfZFMHnbwxx88hCsB3VVqpT56NAddRBsWvWTJEpxyyin48MMPAQAHDx5Ez549MW/ePPTu3RuHDh1CjRo18PTTT0MIgbVr1+Knn37CBRdcgE2bNgEAVq5ciTVr1qB+/fr4+9//jgEDBuDll1/GgQMH0KdPH5x33nlhk3N5aJCaCrzyCnDDDZHL3nijsRExccDs2Tx0sU4d6+vW5UMnosVE1I6I2hDRo751+SplDiJ6mIgSIwIgVhEirnO5hMqeK38PGAB06gQ88gjnbhowgNf36sX7G82e27VrV3z66ae4//778dVXX2HHjh1o0qQJevt8OLVr10ZKSgq+/vprXH/99QCADh06oGXLllUK/fzzz0d9X0K0Tz75BE888QR69OiB/v3749ixY9ixY4ct5yrh0dsXdP/9tqXLdavv5rHHgIMH7anbixSNJ4iAk5r9zXFBqOy58ndBAbBhAzBpEg9sKCjg9StW8P5Gs+e2a9cOK1euRNeuXTFx4kQsXLjQsMxq65uI8Pbbb1el0d2xYwc6duxouE4PA0yaBPzrX7ZU7Vbfjdudoh6xRAKOcgH8feaTJ1sTQffrr78iMzMT119/PcaPH49ly5Zh9+7dKCoqAsCpbSsqKtCvX7+q/CibNm3Cjh070L59+6D6LrzwQjz77LOQXsUffvjBvHDVHb1poBcuZPeMDTiV0jYQOxV6/LbfqytNmrgtgeVoPUTqh83sw7V27VqMHz8eSUlJSE1NxezZs0FEuOOOO3D06FHUqFEDn332GcaMGYPRo0eja9euSElJwX/+85+qCSfUTJo0CWPHjkW3bt1QWVmJ1q1bR8yv7qFBDHWzyfvsyiuBW2/lrAR2KnMAeOcd+7rBhFt9mLm5ubR8+XJXjh23CMFj0Zs2dVsSXfz444+6XBJTp3LzVushKizkQAyrIukSHb3n3FVatmSr+9xzI5c94wwgM9PaDFYaSIt50iRuIdrJxo08cjM11dz+QogVRJSrtc2z0OONQ4fiRqHrJZyytjq9qEcMsGMHT3ChR6E//bTtFr18V5x1lj0pbQPp3x9YudKexrbnQ48nWrb0si16VC8KCji4yCaku++FF9hdb0dK20DsfD95Cj2e+OUXYO9et6UwhBeW4BwJea4ffBC4915bqlb33fz0E7Bpkz0pbQPxOkU9FOIofW5GRgb27t2LBg0aQNh1B3sAYGW+d+9eZMRDIqvPPwd6GsiwbVPaBXVK2wEDgAMHgH79rE9pG8jttwN2xaJ5Ct0ErnXi1asH1K1rQ8X20KxZMxQXF6PES/nrCBkZGWjWrJnbYkTmp5+AVq30ZQ6tVcuekEq413czaZI99QKeQjeFDEgIHN6kbsLZwv79PA2d3jG8LpOamorWrVs7djxvtEyccNttwMyZPLFmJGbOdCyYzimPVa9ewKef2vMYez50E7gVkIDWre1rqyUAdkf+eWl+XSArC7Bh7oTAa/n888r7xe5ruX07UFlpT92eQjeJVOqDBwMNGzqgzAHg55+BsjIbDxDf2P2ijYc0vwnH3XdzPheLCbyWbdpwKgknrqWdnaIgIleWXr16USLQvj1nFpk0yYGDAURr1zpwoPimoICodm2iBx8kys7m31bWra4z8LeHDgYNIlqzRl9ZgCgjwxYx1NcOIPrzn525ln37Eu3fb35/cJZbTb3qKfQoKCggqlOH6MwzHXqo69Yl2rfP5oMkBjKF18CBoa9LQQHRlCnG6y4oIKpfn2jIEE+Zm+K334iOHtVX1kaFTqQodYAoPT0+rmU4he65XEwim2bPPstz2DoRkIADB4Dff7fxAIlBYSE3aceO5Y7QP/85OjdJoL81L49Dt997Dxg0iI/hYYDGjYE33tBXduxYYORI20TJy+NJmwGgfXtnopInTACOHLGnbk+hm0Dtl121Chg40JmABDRvHtf50J1AXhsinhth+HCetU+t1GWZBx5QlHG4Ds+UFOCyy/z3/+knHqXw2mv+l8TrONXJsWP6yv31rzyvqE0UFvJAGgDYts32lDEAOL3AiRP21O0pdBOoAxJ+/llZrw5IsIWdOxNyTlGrUL9oTzmFJ7oZPpyTIJWXA5dcAowbpyjzxx9XLPStW9naDky9XVgI/OMfQNeurNT/9S9lVqUTJ4Dp07keqQi8jlOLGTvWtmxZ8ppIFi50oJWNGOgUBXARgI0AtgCYEKLMUAAbAKwH8EakOhPBh05EdMUVvp4IJwCIVqxw6GDxx5Qpig9UfapkX4f0q99wg7/ve8oUohkziGrWJBKCv8v9atYkSkri/YRQ6pCL3Ka1JCX575OUxJ3o1ZkpU4gK0J/o/feDtmn2aQA0JeXvtvSDqDtEAeX+sbtfJCuL6OBB8/sjGh+6ECIZwEwAgwB0AnCNEKJTQJm2AB4A8Cci6gxgrFUvnFjnvPMcnre5VSsHDxZf3Hcft45uvZV/Hz7Mn0VFPIcjwIGHr77KFnpeHltjW7eylT15MmdqvfdedtdcdhnXkZYGJCVpB56EG09cWem/T2Ulh5hXZ3r3BoZmF6Kw5qV+68O1YHonrbC81aNuZd9yC69bu9aBVjaANWt4eL0thNL0cgFwJoCPVb8fAPBAQJmpAEZGqku9JIqFvncv0ZYtDh0MINq506GDxSd9+vCgCIDoo494hFxqamgrWu+SnBx9HaNHu312YoMC9Kfs2sf0Df284AKiQYNsHy4KEF1/vTV1RaKggKi83Pz+CGOh6+lhawpgp+p3MYAzAsq0AwAhxDcAkgE8TERLonjPxA3PPw+8+aatGT79OXTIoQPFHx06AA0aKP1tgwbx3KRWdDtEG30+eDAwa1b0ciQCefgc8//yEQYMuBxDh3KG3JCBX08+CZw8ibyuyqCD0aO5Y9GqQL5OPn9Do0bR16WHSy4BSkrsGd9gVadoCoC2APoDuAbAi0KIoCxSQohRQojlQojlViVscntUwYoVnKvfEerVA5KTHTpY/DFgAPDtt/4zwegdTGEnOTkslxMjKOKFvHa7ALBSHj06tGKeOnITCp9bz/vkAQcPAo88wvsA1jzfP/7In3//e/R16cXNSaJ3AWiu+t3Mt05NMYBFRFRORD8D2ARW8H4Q0RwiyiWi3ByLJtVze1SBll/VNvbv90L/wzBrFtC3b+wNBCop4dlwnBhBES8U/twKqanAddextR3qvPT+7mkMnTMQhYVcprwcuOoq4JlngMsvt/b5/v576+oKh506Q49CLwLQVgjRWgiRBmA4gEUBZd4FW+cQQmSDXTDbLJQzJK4lyvLRubO99QfhVLswDpk6Fbj6anazxBqLFrFS94KQgMKXt2Hofy/GxRcD48eHj9/Iw+eYn3YDLr+cYwkAHkJq5dA/+Ui9+qo19UVi2jTuaLeFUM519QLgYrDVvRXAg751kwEM9n0XAP4FHra4FsDwSHVa3SkqO0kmTXI2HLu4WHMElj2kpkaXBCIBmTKFaNQovt7yHhg1KvoOTLuW6t4xWlBAlF2jlApe3kYA0dy5qvUBQ0kLCoioWTMqaH4j1anDQ0gBosxM5Zpb8ayXl3O911wTXT1OgWhD/4loMRG1I6I2RPSob10+ES3yfSciGkdEnYioKxHNtfSto4O8POCPPxT/mlMTC3/9NbB+vTPHQnk5T0OnE7f7FyJhRD512YsvVgKAevcGXn+d1wHsr54zxz6ZAwllJSYlKduE4CU5mTsA9RDr184sRUXA/KOXIe/oRwCA1at5feBwwSpX6q1zUdRvHN55h6fUBfjVOHy4dUMMH3qIP53qnqpTBzh+3KbKQ2l6uxc7LHQ59MgpC33KFKJ+/fi4WvKYCXgIS9u2RBs36i4eyoKJlQyBeuUbNIgtW7luxgwlAGj0aPetbhmIFMjDD/P2ykr7zk1cAhDNnEkAUV5e6P8yYwZRanIFzfjreiooUIK0atdWWmRWPGPyOi5fHn1dekhJITp+3Pz+SPRsi/ImHzSIaNs25276ggKitLRghW7b8QGiH34wtEusp3vVI59U4FKp9+njP7Zcjju3c0lNDY4KTUri9YMGaf+3SZPMK3S95yYu8Sn0IUOIJk8O/+IanfoiCZz0u96PPcZKvU4da86FrNepEI/kZKITJ8zvn9AKXX2TjxjBgT6B6+3kggv4LJp96NTh6oEEWSCAIQtdXU+tWkTNm8emQojU/9G+PVs1ZpWxEKx4pQ9WKuj0dP0WnhnlWlxM1KSJuXOiPm5aGtHdd8fmtTPF3XcTbdtGd9zB6RnCndsC9KcUnPC7nlOmsDKXlnq0yHpvusnYfoaeXRXnn09UUWHsWGoSWqEH5u/45htlmy1ujwA2bCAaOpTzY//978YfOkNN65o1iUpLTcl59tl8fsJNxKHnBjV7E0di2LDQ8kXrVqlRg6387GyiwYP5xWZETrPuj/nz+fh6U3+HQv4PRyZRcYING4gOHKCOHYm+/ZZXhXqpj8LzlIkyatpUOQ/SMrfq+V62jOsdOtTYfm65xRJaofv/UaIPPrC82rB8/TXRkiVKknwzD51u6w/gh8FE/bVrE7VpE/5G03OD2nETFxQoLpRQdZhV6jfcoFhzM2aYUwBmX2L//CfLsHix8X3VZZKTiW67LYEsdIBo9mwCiO67T1l93XX+z1BBAVF2zcN0VYc1BBC1aMHbL7vMWnGKiswp9CoZDbbcrr7avBuOyFPotjJyJFU14a+5JjqlFnHYZfv2RD/+aKreceOIzjsv8g0X6QaVmQm1yphRmHLf3r2pqoMx1AujYUPjCj0pieusU4eHujnJtGksQ4MG5l6AsgxAtG5d6H3sajVZiZ+MANFzz1Up9IICvjZpaUSXXqrcS9nZRAUzN9BLj+yqesbatfPPiGkF8l6ZM8fc/tKlqXfKw2j6VXj/aqLQ+/Yl+vxzy6sNyznnKDfEmDHRWapduwZb+UEPwurVVdsiPaxqWZ57ji2DwPVq5LHUL5fUVLaO5bHUyrtmTcXqD6WIQxH4YrjsMv57mZnsFqlZ0/+FkZ6uKGg9irxePeV7ixbudCiOHcvH//BD41acukyTJkqHnda+4VpNmZmhlV/g/WPni8FPRp9Cb9GCz5Hs4AS4g9lP7txcerLbv/36UO6+2//+iBZZ7+HD0dcRqYVeWenTulFQbRT67NnRDQdSo+fmlh1W8mJOmKBslwEueh+QggKlnpAPP1A1tkrLcg481qBB/FAUFBB17+5/I82YETw6Q13nrbdyealIMzN5vRxCqB5ZIvOLjx4desSH1v9XK5sVK4j+9S/FtTJ4sPKfMjONKXO5NGqkfD/rLOet1WXLWGb5f40EvgX2DX30kbJN63+EalmFa/EYeTFY8TKsqgf9iQoK6LrrWDFLnzhAdNFFAfJjLNXAYb/r+skn1r6gZb0PPWT+fwFEd9wRWSZPoRMriQ4dtC2NGTN426BB/G+2b9ddbVhGjdIeFlVQoDTfp0zhIVTZ2UTDhxO9/rp/uT59Itchf2dnK37kkG6P9IuIysp0P4zyOLVrE11yiXIjhbPQpXsCCB5ZUrMmUceO/utq1FC2AdxKMjNyZMUKounTlReDEETnnsu/O3Qwn762USPeNzNTn0xWsnQpyyD7se+4g3RZcYEAoaOR1Yo/8KUhXWBG/LxGyppBLWNyMtGVVyp1n3oq0bPP+pcdhA/ogeQpdO21RH/9K5+LJUuU7Va8oCdM4HplC9bM/7n1VqJDhyKfr8pKoiNHopM37hX6jBnKA5qSwkqjoMB/vbQYs7OtucgFBcFjXdUKUq7btYuHpwFEzzwTXEd6erD7QN1JN2qUcgPk5LCClOWCHizsoUl3HdD9MPbpw4oxI4PohRfYSpdlRo9WXoQSWV6eUzNKVOsFFq61I1038kUhy8lRL336KK0EPYsQLENyMlvH2dmRr7VdPPQQy7Rnj9LSqF/fuILs1Ys734mUcxnoHpPfO3XiY55+evD9U68euzj0unvOP98eN1V//K/qek2dqqyfOJHoiy8CCg8bRpM7vkEA91GpFbpVHDtmTqGrz31qKlFZmf96rRZ6ZSXRK69E9zKKe4VOxE1wvQ+1nPorKYkVp9kTJ5V6rVpsSWiNfR07lvsq+/Qh+u674DpkUEyNGlxWrcwDL/rOnUS7d/sfXy37YLwb0cKTN9OYMYqrAmDXUNOmijKX69WtHq2RJEYnh9BqRUVqysux/OoWRIMGysslM5NfStLl0rKlosD69uUXQnIylzcyttxunnuO5V2wgP9nz57KS0ueD+kW00K6xVJT2don0nalSCMhM1MZc6/VcSjPsZ4WQuCIE6uocq103E6A/8iSO+4geuqpgB1++okeu/t3AlgHvPOOtfIQ8TBW6TIxQqBbbO1aZVtBgb+xJikv52sTzYsyIRQ6kTGlHugqMPqQqy0gtXtBrpP1XXWVsj3wGLIOdUtCjonWGnWxcCHRrFnh5bjlqr1+D7LW/7rwQuVhVB8bYKsrlPKdMoV9zWbOMcAvhFDnOZyPt1Ytf5mys9mVBbDbRdZ94ACPgtCqL5aQCcOuvZZlr1+f5Rw4kH+PGqU87NK9FHgt1OkNatbk5rwkUKnPmOH/8s7I0B6JlJ5ONGSIPgu9bl2uyw53C0D05JVfVb2s1UoxKEHWsGH0w8jnqvqAAKKtW62RRyLrjcYVEqjQJYH36SefKC9188dKEIVORNSqlTllIy04uSQl8Q2uFWQyaBBbftKSlnXIERjJyYoyViv0227zr0f94MkyKSn8gGpFuUk/dGAd0qoHiL586SdNd5C6fFaW/8OoZXmrFciMGdzKkC8JM1O29eqlT1E0aMDWn1ohvfMOUf/+7HJSh/h36sSBYlJ+makwlpU5kdKyk0r20095/bBhfN8FBsaolTdR8G8geG5w6UIZPpy3p6Up1+2CC5Qy6vMM8EvGDR+6uh6A6F/XFtGdd/KwRfV62SlaBUBTUx7wu9fefTc6WQKR9b71lrn9ZUenlkIn4v9Wv77yMpUd5WZJGIUeaG1asSQlKRaTvGllB2KgYpO/k5KUsjNn8rqRI7mJrWbKFMUCy8xUEnmFsma1FLr0IcuOyv+9vb9Kyaen83aJfGg++IDo++8VxaKV60S+1Kw4h9I1Mniw0lkcCjk8UY6MKSggKikhmjePKD+fX6QA0aOPkp8lI5V6Tk5sK3OJ+sW6eLHyO9RwO6nEa9UKttgB7fgKef7lEE15PWvVUo4hLfyCAqJbbuHcKVK+cB3rP/6o3ItWKHW1e+KmYUfoq8JyuuQSHsQgX2wAR1sH/sknU+6lyy9nowPglqyVtGvH9V51lfk67rqL6OefQ2+Xht/EieZfHJKEUOh2KHOAqHNnVo5JSWw9y47KcLlDZFKm5s2Vnu0mTYgeeUTx67Zvr8iclKTdwTh6NCtkae0HKvSCAu64lFar3C8z018ZS3nUD7XTi/x/GRn+1l3g0MysLKLGjZUhi1OmKFkJW7RQJnm+4QZe17y5Ys3KayJdSX36xI6/XIsbb1TOTY0a/J+7dQsuJ5WdfAH066dsk5brhx/671NQwPU2bux/HwBEzz/P9/SllyrjuonYfaX2EwdeH7XS/fTT4HvRqnP9vz4TqLSwiABOjyC58EKNfqguXejxJk9T165Kp+iCBdbIoQbgfjIzHDvGgXGhkB3iAL8Y33vP3HEkca/Q7VLmkSxOrUXLj5+XR9SsGdHLLysjMurWZUtfS5FLizkpSXkIpcUsFymDv4I+6YqyNrLIyMxRoxSlre4gksNLR4/mF9iMGYo7Sa5Xnxd5vuQLS905amVwiR288IL/uTntNPJTkhL1A3bCguUAACAASURBVC/vBXne5LBNtYWu9kXLJT2d70H5wpMdpIGWfocO2rIGKuxAhS6xIvgIIHrtpk8I4CAhycyZwX1I9Pnn9LdLfiaA6OKLueX222+Rj2GE225jmcxOcFFWxvtrBXHLayXv+yVL+LNa+9AHDTIX9u30onbR1KvHFmWojlxtha1nqXT0P2VkaLtsQqWs7duXt9WpowQgyX6LggKiLl2Usi1bslLOzfWvQx0QJKNnAaLWrf3LWRn+bQdy3LQ8X7KFEYh08an/F8DnZvp0/i4TfKn94klJRGecwdZ/crL/8M6aNbledcd79+7aia20XCqhFHqkEUt6FBVA9Njg7wgguvdeZX3r1uwW8mPaNNr87EdVI1EA0/npwsoDEK1aZWw/+XI7cID3l4nGiIJHuUjX7JEjrCfsGuUieLvz5Obm0vLly3WXv/hi4LPPgMpK4ORJGwXz8KOgALjpJmDXLj73AM/GU1nJs/C4dPugZk3g6FGgaVNgxw53ZAhFTg5w4ABQUaGsc/NcxSaV0Delse+m0ze5Wswj7wP1TFc1agCHDxupQ6wgolytbbrOkhDiIiHERiHEFiHEBI3tfxFClAghVvmWkfrF08fixcCJE8AFF/DDnJTES0oK/64+OKsVLr4YOHSIX6YzZgB9+vAkzO3auaugDh/ml0rTpu7JEIp27fyVOeApc38IPA2xHoSBsrGPvA/UbbIePayrP6JCF0IkA5gJYBCATgCuEUJ00ig6j4h6+JaXrBPRn8WLgbIyttJPnuRpNmvUAOrWteuIsYazN/exY8r8h+PGAcuW8bytmzc7KoYmffsC333nthTBDBmizH/p4RGOs84CvvnGuvr0WOh9AGwhom1EdALAXABDrBMhekpKgEaN2FqXlru03lNT3ZbOSghOW+gAK/UZM5TfPXsCaWmOixHE1Ve7LYE2990HbN8OdO3qtiSxSuJY3NFgtTIH9Cn0pgB2qn4X+9YFcqUQYo0QYoEQorlWRUKIUUKI5UKI5SUlJSbEDc1PP7G1Li33kyeBRx9l5XPWWZYeykXsfRCEYHdK4LrUVMV/DgBz5wLp6cD559sqTkTy84HCQndlCMfo0W5LEMtUT5eLJC3NemUOWNfT8D6AVkTUDcCnAP6rVYiI5hBRLhHl5uTkWHTo0PTuDWzbBuzcGblsoiMEt1pkZ4xswaSnA8nJ3PlZWckurVq1gObNgexs4H//476LxYt5v8JCYOFC4KGHgB9+YHeXG3TuzEtRkTvH18P06W5LEMsYaWkmXgfEiRPAn/5kfb16FPouAGqLu5lvXRVEtJeIfJ5WvASglzXiRUdeHjB/Po+GqF+fFZVEumWSk92TTw8iyDhRbu70dKBhQy4jF4AVdffuwKhRrJSlsv7sM6BBA+CGG7gzZsoUdqd8+ilw6aXAmDHA0KHA3/4GlJbyuRs6FPjXv4CpU1mZDx3K6ysq2M119Khjp8KP9euBXr3YvRGLDBnCxoRHtBjpQI0vvv3WBqUeajyjXACkANgGoDWANACrAXQOKNNE9f3PAJZGqteOCS5CIaPt8vL48/nnlW3qdKQyYrRlS/8EWjIc3emlc2dFvgYNiBphN2VnV0bMl1KzJtGZZ4af8CAweZM6X8oTTyhjkNV5RdTnqnNnd85J4CLzu8QSZpPIVZ+lkvTHUxgpG5/LWWcZu78QbWARgIsBbAKwFcCDvnWTAQz2fX8cwHqfsi8E0CFSnU4qdCJWzPIEqmd/0SIwSKJPH95PRn2mpbEiUQc7qJeUFCWMO9yiDtkH/CNU1cE4RBz9BxBNumN/xP86caKvrHqy3WxFGWslXpJ5Z2rW5JmfTj/d/yWgjgCUgS9qeVu2DJ8uwcgSGCkqz32HDkoCrzp1+Py3b2/sPnACOVmJ/A8pKf7Rv95ykvRHPRspG9uLOkGgTAci8zwZIWqFbsfipEIfNYrDyydN4odLnURLK1w5MLw5UAkG5ifRCndW7/P773ymv/oqeB8pm5aSVSvg7GyiSWlPUHa98ogWeuBUZ0bCtQsKlHS2oaLZ1POB1qzJIdOhlH8omeT62rUVxafOHnnnnaFliPVsi5LXXvMPJwe4tRcOKyIxYxF5D77zDp+HD0cvIoBo797gqEq//7p+PdHGjXT0aPA9YhUy0nPvXmP7hcplLw0evdMxGqVaK3SpNNTzFkoF6tRDUlrKx/3mm2DZIj28fmUAKpiz2fbUp+PHs7yRJjcoKODzesstxtOxql0+t9/Ox5P55ok48yIQfd4QN7n/ft8T5gPwz46phZ0TNbuJvO7vv+97Udc8QgD/DkwF7XcOLrqIaNw4On6c99MyGKLl0CE2TKKmtJQoP59m1JzI1z07m29ki3MVVFuFrqUYAaIXXwydT9wuLr88OKd1pIc3aMYTgGj5ck1FbZVlF8qaDkWVK0hD+Yc6ttovrz6eekaoWbOC88vHG2++GazQc3Pdk8dt1M/gJxO/oKwsfomHfQ7lm56IzjmHqLDQerkOH+bDbNwYRSWlpdyxlJFBq9GVPsMArjQjg9dbqNSrrUIPVJjSQpcTQAfOGGQX+/ebe5CDFD5QNXVNoLVmhWVn1MKPpPxDySRdNoEvLGnxjxrFKVLT0yPLHMssW8bT/sn/99hjwVkT49XiNstnn7HPeOJEZYLxsC1Bn0I/eZLonnusT8xFRFRRYYFCz8+vylh3HKn0BO6jKud5RgZvt4hqq9C1yMnRcRNZzN69fMwdO6KsCCDat88SmQIxauFH696JVO///V9sdngaQbZe5P/8/Xd+uRPFv088GibVe4YAVuwRW4L9+hGdeWaV0lVPxWcVlZVsSGzaFEUlqnzGT+FOn2aFsuTkWCWup9AlRt0JVrF/P5/pZcuirAgI9ttYhNGO02jdO5GOJ4eYxjPz5/OkCWpXwxlnVG9lXlBAVBv7KTP1hL6+rBUriD7/vGqaty+/tF4m+bIoLo6iEtUQphm4O1ihRzvvnApPoZN1HYZmOHSIz/T330dZUbduxpM224ATHXf33Rf/Cn3qVOU/SHdfixbVXJnXJqqD/VRw5zuhO//VPPAA0euvE5F9Cl2+LKJCZaFrKnSHLPTESDIcAXWEY14er5NRpEOH2p8PpFYt4PTTtaI+DbJmDSesCUVZGcfk5+RwGGxODv8uK4vywP7cd59yHgPJy7MmerNDB87DHs+or3deHnDXXZy7ffTo0OcvUZHP4PDhwDv4M/La7fJ7BgH+HpTK4fHH/ZLiRP0MaSDr/O23KCoZM6YqEVJbbMZwvKlsy8hwLrFPKE1v9+Kkhe72ULBjx3iS2MOHo6woXLtQ1cvuZxnY0MvuBC+9xLNUxTNff80Ru0TuuftiBb9n8LPP/B6GsM+gapTLI48Q/fKLPfIBRJs3R1GB6vmrQBKtQRfbnj94Lhd3kXMORn1Nk5OJysu1t6l62YMWi3vZnWDVKu0JleOJadOoaiy9W+6+mOSll4i2bNFXtk4dolNOISIOCjx+3B6RWrYk2rYtykp849DfrnUTa9acHG8ceiIix7muXBllReEqCZw1OHCx0IfnBLNnU9z70N98k6hjx8SM/IwKgCfZ1MOCBVWh3VrBeVaK9NNP1tQ1/bHjtt674RR6tfChu4300UXt/ws3V9XeveH3jbQ9xti61W0JoufIEfaZq/tuJNJ/HMvpf2OCEyd4UgPVTztISrJwOkM7HP06SXHtyNWI9HTuF4n6Oq9a5T/ThJoGDYA//gi9b4MGUR7cWTp2jP8Zf9av57lPw3UgV7fOUcPcey/P5/fttwDsS3ddWcljB7Kyoq+rRi33cnJ7FrpDXHUV0KSJBRWFmhFb1csehJO97BYhROh3V7xw2WXAOee4LUUMcv75wIAB+sr++ivPpAIe9VS/vn1ihbOHjDBqJOH4J19YU5lBPIXuACdPAm++yZNRRIUQPKW8FuPHA23aBCv1jAxeP358lAd3ljZt7GteO8UvvwBffum2FDHI668DLVoY3m3zZqBVK+vFAYBmzYA6daypa/XycqRfcK41lRnEU+gOkJTESv3HH6OsiIhnH9YiKwtYupQHgdety+tycvj30qXWtCUdZN8+foDjmePHI5epljRsCLz2mr6ykyYBw4YBYK+LlX0rchYuACgu9p99q7CQt5vhi6/cU6ueD90BpO+cKMqKunQB9u8PvT0rC/jHP/iBuf12YM+eKA/oHkuXui2BOaZO5bls8/LY6hs0SNlWWMidoLE6bZ6jhAuQU3PllUDt2lU/rXKLAHydZMAhwH1dgH8gohmifs6jwLPQHcCyUS7r1ukr17KlqSZtLNG8eeQysYhUEoWFPJfrRx/xeqkkevd2V764Y8wY4Iknqn5aOYBEHamanAykpWlHlRslJd3XKeqCZtel0IUQFwkhNgohtgghJoQpd6UQgoQQudaJGP8Iwa3GGjUcOuDJkzy8Io5p0YInro431EoiPZ0bTVYoiYSjTRt95b79Fnj1VQA8atcqP7dEXq+TJznLgBXXacgVydzCdGH4YkSFLoRIBjATwCAAnQBcI4TopFGuFoC7ACyzWshE4KOPLLI6u3WLXGbdurgbdx7I8ePAp5+6LYU5pJJ47jkelOQp8wCIgIsuMrzbwIH63wNGyMsDJk4Enn3Wmjw7tZIO49W+z8Wshd4HwBYi2kZEJwDMBTBEo9wjAKYAOGahfAnDoUNRJv9RVxSJvDzgzDMtOJh7NGzICc3ilbw84IorgN9/r57JuMIiBLBokb6ygwcDffsCAGbMsNaHLiksBJ5/nvtfZ8+OPlnff15LwUzcHrMKvSmAnarfxb51VQghTgfQnIg+DFeREGKUEGK5EGJ5SUmJYWHjHT26OCLbtkUuU1wMfPedBQdzFvWogyVL/P9CNKMO3KCwEPjgA+uURMJRXKyv3PTpvPjQc/sbQe0OmzzZ4gysMarQwyKESALwLwD3RCpLRHOIKJeIcnNycqI9dNwRtUutZUt95dTjr+IIdYeiamBD3HUo2qokqhuPPgp88QWngQZAF1xoWVpo29JqJ7k31kTPkXcBUHt/m/nWSWoB6ALgcyHEdgB9ASzyOkb9ad0aSE2NspJfftH3VmjaVH8kXgyhfphSUthnGm8dim7n3o8bQkU1B/Lf/wL33FPVPGuAP9jvMnUqu2KiUOpFRfbk2Tnj7FQ8cNOv7ij2UFm75AIeq74NQGsAaQBWA+gcpvznAHIj1Vudsi0SEQ0eTHTkSJSVAEQlJZHLPf54XKcqlJNFN20afxkJ3c69HxesXq0/D64qY+hETKbdaBTzaaGP7jtC/zt1JE+FZAOIJtsiEVUAuB3AxwB+BDCfiNYLISYLIQbb8ZJJRBYtsmjiID3JLOI8q1VeHnDnncCuXfHXoejEbE5xz6uv6g+bVlm5L+IWVKhjIY8d4w6KGGP+fGDgthd5LKTD6GoTENFiImpHRG2I6FHfunwiCuqqJqL+RLTcakETAUsCN1esiFymZk37kl44QGEhP6deh2KCMn068M03+sqqOhZ/R2OsR2f/7TE4PLfkD6tCw43jRYrGE7k6uyV++CF0zpcYx+tQ9PAjM9PvJyGgDykG00K7mA7dU+hOUadOlPmxKiuB5TobPp06cYrSOMPrUPQIorzcT0PWxQFlW4ymhW7Y3JcUxoVOUU+hO8QFF/gPxTNNvXqRy2zbFpdhlnaNOvCIMW6/nZPF62DqibtQSP2BjAyMwUw0g2/8ekYGChsPx9SUv9snp0muH1YOmjffvtk4wuApdIf44AMLXGpCAKedFrlcQDM1XvA6FKsJd9wReqKWAHqjCEMxD4VXz0JRUl9UIBXIyUHh1bMwtPRl9D473WZhjfPphycghg11JX+yp9BtRB35ePQoT74iMRX5SKRvdECnTvr97R4eTtO+PTBvnq6iebOHYf4V8zD0o5tRVNkL2//7BQrn7cHQj27G/LdETI6AWrs+tgOLPEyijnxUYzjysayM85ynpACdO0eOlPvmG/3+dg8PN9A7v2CXLsibclFVbvI3/7kl5gPNvHzoCYq6Qw8AatUyEflYVsYRcVOnAhUVfLdEipQ77TTgjDMs/S8eHq4wZgyQn4+8PGASJmPO5gExH5uQWTfNtWN7Ct1mpFJPTwdmzjQRxj5tGs+7dSwgieWxY7x+2rTgfQ4d0jde3cPDLbp311du7Vrg3Xc5NgGjMant3JiPTbh6WBLWLytTpkByEE+hO4Ds0Js2zUTk46xZwcpcEipS7tdf2Zr38IhFiICzz9ZdvPDkOWwInT4Fk8fui/lhrPt/OYTxZ3zhyiznnkJ3gKgiHyNFwmltz8sDevY0JKOHh2MIAbz+uq6ihRdNwVCah/n/PYq8cyvZ/TIwCfNPXI6hlx5G4eLYyyy66KNULMYlsRv672GeqCMfI0XCaW3ftImjRT08YpWDB3UVK+o6AvOf3o28+3oDTz7JBgwR8g69h/nlV6BoxCyLkiQlBp5CtxFLIh/HjAmdajRUpJzeGdU9PGKc+zb8BXlv3879RQHklX+C+w5O1O5HcpMU5wOKJJ5CtxFLIh/Hj+eJFAOVekYGrx8/PnifevWA884zLbeHh+3oiXgGgA8/BP73P+P9SC5y0ZAMvDRtn9cpmmhYEvmYlQUsXQrce6+yLieHd166VDtBzOrVwGefmZLZw8N2fvtNGctrBTGWcbFZ1gHUmTBG/1h7C/EUejyQlQXk5yu/9+zhQKNQ2b769eNB7x4escioUWyM6KFnz8g5UWIs4+Kb85Nx9cm5Xui/Rxhk5jY9E1xUVprzo5eVcQRqTg4fz6K5G2PumB7usmgRsGqVvrKzZgFXXGG8H8lFjhz18qF7REJaKfv2RS67dm1on2Mo1BGpf/yhLyI1Wtw4pkd88fHHwDXXcH9RIOH6kdwk1vOhCyEuEkJsFEJsEUJM0Nh+mxBirRBilRDiayFEJ+tFreYYsbhbtQIuvdRY/WYiUqPFjWN6xBeTJwNjx/q7aISI3I/kIu1Pz8KpOYeANBdSAISabFQuAJIBbAVwKpRJojsFlKmt+j4YwJJI9Va3SaKj5vhxnhi3Ro3IZZ980vgk0dnZfhPyBi05OebkjrVjerjPc88R7dunr6z6npf3xa5d9slmAeUHyuiPJ160rX5EM0k0gD4AthDRNiI6AWAugCEBL4VDqp81AbiYbyzBOaojMq5ZM+P1molIjRY3junhPr16AUeO6C8vLd333+fPGJ9e8b0F5cieMBIoLXX82HoUelMAO1W/i33r/BBC/E0IsRXAVAB3alUkhBglhFguhFheUlJiRt7qi5GJCtu1A7p0MVa/mYjUaHHjmB7uc+aZwLvv6is7fz5wp0+dyFnWd+4MXT4G2L7T198Vz52iRDSTiNoAuB/AxBBl5hBRLhHl5uTkWHXo6kFqqv6yH38MrFtnrH4zEanR4sYxPWIDvQZKeroyZv2vf7VPngRBj0LfBaC56ncz37pQzAVweTRCeWhgJHti27bAkCGRy6kxE5EaLW4c0yO+GDsWeOAB/3WnnuqOLDqp37QGf4nROUWLALQVQrQWQqQBGA5gkbqAEKKt6uclADZbJ6IHACVzm565GPfuBd57z1j9MiL1vvsUV4fdIwnUx5QzaMfw6AUPi2jSBDjrLH1lf/45OOq5eXPtsjHCsGHArq+26Z431UpSIhUgogohxO0APgaPeHmZiNYLISaDe1sXAbhdCHEegHIA+wHcZKfQ1ZrDhyOXMToGXZKVxRGot94KNG2q+CztRB7z9NOByy935pge7rJzp7E+IcmYMRxotGsX0Lix9XJZxNqvDuAvlx7Hj6VljhslunzoRLSYiNoRURsietS3Lt+nzEFEdxFRZyLqQUR5RLTeTqE9InDuuTxRtFlcaCqiSRPnj+nhDikpwL//ra/s+PHABRfw99tu488tW+yRyyK+XpaKn9DRlUlmIlroHjGCHLqlpzN55Upgwwbzx6pVi61mJ+nRQzNFqkeCojdQ7qablHu/Wzf+dHMW5hjHC/2PF2TmNr3DPRs2NH+slBRUTbPuFGvWaId3e1RvRo8GXnnFf10097YDpGR6k0R7RMLI/IRpaRz+b5Z9+4D1DnvNfv3V2eN5uMspp+gr99VXwIwZ/us6dLBeHgu54roaeGveSaBOHceP7Sn0RGTLFuD7783v70IeZ49qBBF3gBtFuhtjPII4ZX8J9g+7zUuf62ERl14a3SgAMyMQosXL31596NCBg9/0MHCg0sEvO0N37LBHLouY+3YqRuFFY+kNLMLrFI0XZKRoo0aRy+7dy7PCmCU9HTj7bPP7m6FXL+D55509poc7bNyovwP8qaeA3bv5e8+e/BnjaZWrGrjxHPrvYTMpvnfv779HLvvTT9Edq25dzkfuJHv3Apu9eDSPAObMURLSbdvGn26kpTVCsntqNfEVeqLMiGOk+dawIXDlleaPdegQMH26+f3NsG5dcOeXR+Ki16337LPADTf4rzv9dOvlsZCzLqyN83r84Uqkc2Ir9Oo6I87PPwNvv21+fz0peq3GG1tcfViyxFiircAx6zF+r3Rrvh8zO88yllDPIhJboVfXGXFkAIZZYvyB8YhzfvuNjQ491KunDP/75hv+jPFI0bffqkT71/P1TRdpMYmt0GfNCp3X5NgxYPZsZ+WJBjlJtJ6EP61axXxGuiDOOAO47DK3pfBwgr/8Bfjf//SVfeMNYNw4/v755/wZg8MWp04FCgv5+x/7fM+qzzAqLOTtTpDYCj2RZsSRKWb1JOd6912lA8kMDRtydJ6TlnpyMnDLLc4dzyM+2L2bhy4CwIMPuitLGHr35rTtUqlLCgt5fe/ezsiR2Ao9kWbEMZJBsVUrZVIAM1RUADfe6KxC/+EHYPBg547nER/cfz9w993+63r0cEeWMOTlcbaMoUOBA5WcCrpwWSaGDuX1eXnOyJHYCj2RZsSRmdtSdIQO7N0bXS4WN1oubnTEerhDXp6SQTESJSVAUZH/urp1rZfJAqRSn/1CEh64oRhDb67pqDIHEl2hJ+KMOHpScmZmRncMaZl7naMedjB/vrl0yU8/zZ8bN1orj4Xk5QGjrz2Ix19thtE3HXFUmQOJrtDVM+JIqsOMOP36WZO50MkUAKed5tyxPNwlJyc4g2IopkwBLr6Yv3ftyp8ycjQGKSwEZr9eC5MwGbP/LyPIp243ia3QAWVGnBq+ef727OHf8abM5egWPaH/n38eXW7xunV5AoIkB2+P004DioudO56Hu+hNADdwIPDkk/x9wAD75LEA2QE6/9k9mIyHMH/OAc2OUjvR9cQKIS4SQmwUQmwRQkzQ2D5OCLFBCLFGCPE/IURL60Wt5khXi57Q/5SU6KLpsrKAe+/VPwmBFXz3HdCsmXPH84gPbrklOIK4ZeyplyplPh/Iu4Rdnnn9Kqo6Sp1S6hEVuhAiGcBMAIMAdAJwjRAicH6zHwDkElE3AAsAODTq0oee8P4RI4xFpzmJHvmNjHKprIwuCnbnTmD/fmd96AcPOncsD/dp315fuR9+4HwuZvZ1kKIi1WiWOnX42WnYsKqjNLBf1zaIKOwC4EwAH6t+PwDggTDlewL4JlK9vXr1IksoLSXq3JkoI4OITyMvGRm8vrTUmuPYhV75Dx1StkXin//UVy4U27fz/sePm6/DKO+9F53MHokJQFSjBn/v3p1/f/21uzJFYts2lvPQIVuqB7CcQuhVPS6XpgB2qn4X+9aF4q8APtLaIIQYJYRYLoRYXqJ3KrVI6A3vP+us2JzpxI70BNdcE92MRdIyd7JTVM9cqR6JgRD6cw0NHaqMO//uO/7U43Z0E9k/4EKuKEt7vYQQ1wPIBaCphYhoDhHlElFujlUPsN7w/pUrY3O4k1755dDLpuHepT42bwa2bzcvU0YGcN11ziYX6tkTWLDAueN5uItepTxlitIpKnO6GJmO0U1iNB/6LgDNVb+b+db5IYQ4D8CDAAYTkfVzL4XyM+sN74/VMdV65U9O5s9dQac+mGjzijduzB2rTj44GzcC77zj3PE84oN77gE2beLvspPehbk6DSFH1LmAHoVeBKCtEKK1ECINwHAAi9QFhBA9AbwAVuZ7LJcyXBrcSEPrZHh/o0b6hvw5jd70BEaab3XrsoVtlt9/B/77X+DkSfN1GGXHDuD11507noe76A1+W7gQGDXKf11urvXyWMkpp7BHIDvb8UNHVOhEVAHgdgAfA/gRwHwiWi+EmCyEkMk3pgHIAvCWEGKVEGJRiOrMEc7PDIQOh1eH9+/YEd20bHZhR3qCnTujU44yAVistmo84puVK4MnrTCCVf1vdrF7t2tR6LrmFCWixQAWB6zLV30/z2K5/AnnZz55kt0RGRn+ZQLD+x99lIfGOZXHUi/jx3MHUeALK5r0BOeeG51MbihyPTlqPBKDt97i51aPpd22LXDc58H98UegY0fOJNopcOR0DFFWxumBS0r09XlZSHxEikbyM1dWcjh/cjL3oGuF9z/8cGxOaKFOTyCjQbXklx2ULVpErrNuXX1508ORk+OsL/CcczhWwCPxefxx4Pvv9ZX9v/8DJkxQ9gP0pZCOBVwwjOLDLGrQgH3mocjO5nD+yZOBm28GXn7ZOdmsQKYnSEsDJk7k9ASBSOW6Y0fk+j74ILqb/tRTeWRBRYVzI1327nU2LZ1HfPDtt5ybCNCf/6UaEx8Wuh4/c1kZj71euFA72jIe/MFnnRXaXVJaqr+eRo0UH6WZSbJLS4HrrzcWnRot69ZF51e1gkSZUDyRePhh4Lbb/NdF61K0mzZt2ECrVcv5Y4eKOLJ7MRQpKqMp09P9oykBouxsoi1biNq2Dd4mlx49iBYvJlq92khAlvNMnRo6WnL/fv2RojNmcDmzUbQbN9oa6abJu++6Gyka7xHH8cRttxHt3q2vrDpSVF6T4mLrZCktJcrPZz0iBH/m50d3vQ8e5Mhnm0CUkaLuk5UFlriznAAAHu9JREFUvPee9hDF/fu5cyXc2OtVqzgF5z/+EdvW1imncIBNtDT3hQ1EG4UaD60aq4jnCcXjrWVx771KXIURFi7kzzVrrJEj3HDovn3Nn7/du4EhQ/TFjFhMfCj0sjKeRFhrVpuTJ4EDB/TVs3AhULs2dzbGIidOhP4vap94pIe2b1/uXTc7SbZU5KHcXHbQq5dzx9IiXicUt0sp2clpp/FIFz289hqnsgCU0S6HDlkjh10vcfn8OBnH4SM+FPq0adZNi0YEnHkmjwSJNStmzRrg55+D15eVARdeqPyO9NAuWsTWgdlJsk85hcPwnQz9r1s3/MTWdluh8TqheDy3LPRwyilAvm+EtFTsVhGvL/FwhPLF2L0Y8qFnZ4f2j0ezpKfHln/088+JtM5Lfn6wb1ft483P9y//4otEQ4ZEPm85OdpylJfz9v37rf+PoViyJLQP3Qn/ttlzZSd6/LuxKHckAKKZM/WVbduW6Oablf0AonXrrJFDiPDnLinJXL0HD/L+v/5qjZwBIO596HZZR8ePx5YVs2sXsGJF8HqjlsSJE8A335iPQpX9EU760I+HSf/jhBUaaxOK63WlxGvLQq+LbfNmYO5c/3WtW1sjg960G0apWZPdQmbmTY2S+FDoZk+sHmKpaaU1/hww/tCeOMEPv9lJsqUij5VOUSeaxrE2objel5hdSslOiLhPzChDh/LnF19YI4ddL/FNm7ivzoWXaXwo9DFj7K0/VqyYJk2Aq68OXm/0oR06lOtSR6FmZ4eOog2FlT70SD7wcPnbnbBC1edKjsBwc0JxvS+xWGtZ6EEITv6mhzFjgD59+Pv06fxpVb+JXS9xaQgZiR2xilC+GLsXw+PQa9Swx48eS37Ge+7R9iNPmBDa3ycEb1ezaFFwPb/+SnTXXfrkKC4OrjMa9PjAKyqIvvhCe3+n/cQAUc2a1tZpFL3+3XgcP2/Eh751K9GaNcp+ANGbb1oni+ynqF+fz3lOjrFx6Fr9HKNHs5w//2ydnCoQ9z70rCxg7Vp76hYiduYaNdMM1WL79uBcLlu2AE8/rW//pk2BDRusm+dTj/vgm29CW0ROW6GPPALcdZe1dRpFb6tM3bKQuNmysJoRI4Avv/RfZ2UabJl2Iz+fJ/7cs4d/6zlvofo5ZOoRN3LOhNL0di+m5hTdvZuoSxdrrXMtC9ctvvqKqFOn4PVGLdQ5c4iuv95/3Zdfalv/WmzdymX37DH3P8zIH25OUaet0PPOI7rgAmvrNIrRkU1EvC0313lZjQIQzZunv2xgpGhZmT0y/fWvxvYJd43S04kmTrReTkoEC13SuDFb6qWlwUnvtejaNXIZouBZxd1iyRK2jAMx6kP+/XcOyDCL1fnQo/WBB1qhRvsCjNKsmeK3dQuz/l0nYwfM8uuv2n1FkZDXed06a+UxS7h+juPHgeefd1YexEunaCBZWcALL3CI7emna29fvVr/hd+3D/jwQ2tlNEP79tozDRntFL3iiuAyXbtyOLIerFLkEj3yR1LKsmkM8EQlRprGRtm3z/2OcvVLLD1d30vsllvcdxXp4Y479I9U6dNHSWUhp6IrLrZHLqPE4JDR+FToksaNedy2bOg88ACv//lnoFs3Y4rp0kuBggJ75NTLzz9rzzR0443h9wvMUqgVcpyczPMz6iE5GTj7bKBhQ33lI6HHB37OOWx1RhoNk55uPIud0SjTRYtiIwWzfIk1a8aTJUd6iV1zDVvvsc7bbwPr1+sr+8ILfK0AxVCpqLBepnvu4dTbRohkqNSrZ14ek8S3Qg+kRQvggguUG14IY/sPHOhunpe6dbXXL1sWfr/A7UuWBJdZt46Vph46d+aWglWdOnrcB5s28Qs6UjDN8ePGkh6ZyXVyyy3An/8c3X+2ki5dOP9JJEaOZAWYSLzxhmKhy2fT6HOthwcfNJ4YL5yhAgDXXhudTGYI5VxXLwAuArARwBYAEzS2nwNgJYAKAFfpqdNUp6gejh4lqqzk7+ecY66j9IMP7JEtEitXEnXvHrw+0hA2IfzLv/AC0ciR/uu++ELpdIwUUv7bb1xWb4pTNaHq3r2bPxs0UDpC1ceUQy0jdQQCRNu26ZfHTOfi+PFEI0YY/+92ARBde62+cvHSKfrcc/rKCkHUsqWyH8DPuB0y3XqrsX3CddY3a2Ztml8/UUN3iupR5skAtgI4FUAagNUAOgWUaQWgG4BXXFXoMqe2zOO9e7c5hQ4QvfWW9fJF4rHHFKWrRo+8aqZMCV4nFbqeESM//MDrjOai0FP3ihXa/1GOcok0GqZGDWMK3cwY9r59iYYPN/bf7QQgGjxYX7l4UOhPPql/ZJLWKJctW6yXycwoFyLFgBFCGcd+zz1Es2ZZL6OPcApdj8ulD4AtRLSNiE4AmAvAr3eNiLYT0RoAlebbChawahV/yrzpjRtz56gZrr5an/vFyiyAOTnAlVca3y+Q7t2D18m5SPWMCSeTnaJ66s7MNFc3wJ1MR4/yVH1G9jG6vUcPZdqzWODWW4FBg8KXKSvj+/3HH2M/J3q/fuGnlFQjhDJy5/PP+dPsMx0JM/e97Ocg4r6gPXu4z2vMGI79cBg9Cr0pgJ2q38W+dYYRQowSQiwXQiwvKSkxU0V4pCJXT4TRrRvw3Xfm6vvTn8I/EFbnoi4tBb7+Onh9pImhmzXz/3366Rzqr6ZVK5bPSF6U+vUjiuyHnrqTk7X7CgYMiOwblZ1QRpIemcl18vzzzuduCcfXX4fO8wMo9+G+fdzvEe19aDe5ufpHlX3wAfcNAMDKlfxZXm69TBkZLJdZMjN5Ckk1Zg2jKHC0U5SI5hBRLhHl5uTkWH8AqRBSAua+7tvX3Fu9sjJ8Jr9p0/gtrGWRbtliPAvgb7/xGPJAIj2Qu3f7l3nllWALaOlSPj96LNa2bZW5WY2gp+6UFP9JPGQLp2XL8A+AOiJU6xyFwkyU6dlnA5066T+G3bRoEV7ZyJbRiRP+62M5J7rejs3Dh5U5RceNs0+eo0ejizg+7bTYSIQWyhcjFwBnAvhY9fsBAA+EKPsfuOlDLysL75vbvTtyB6MeH6tEdvCFWrKzjcm/dq12pKgemdWde7NmBXfwSB+6Hp/ykSP8fedOY/LrOR+HDys+0VA+d63Oy86duW8E4DlP9WImyvSZZ4huv93Yf7cTgOjBB0Nvj7ec6ID+XC5NmxJdcYWyH0C0Y4f1MqWmEk2bZn7/zEyey5eI76kePVzpFNVjghUBaCuEaC2ESAMwHMAiG94t0bNrF9CuXWhLr3Fjxc+ul3BWZySLVK+fULJmjXakqJ43/6xZyvejR4GXXtIup8dilTIYbTJ27hx+e6dOPNZeTiUYyueuRh1MU6tW+OurhTpAJyNDX4DOnDmh5610a/7OH34IvS0GA1zCkp0NnHuuvrK7dgGLF/uvs2N8d3k59z+YZfBg1i8At0IXLuScSE4TStOrFwAXA9gEHu3yoG/dZACDfd97g33rhwHsBbA+Up2WWuhbthC1aOFvlbRoEbo3/LvvrLHQ9VjORvKMTJlC1Lhx8Ho5XC/SInnhBf/fRESrVyvyRLJYi4rMWUJ6LPRVqxTZ9MxEJYegEikzKW3YYEwuycGDvERixAie9SkQp3LKBA79TE3lIbih6o83C72igujkSX1l5fkl4lYKQLRggfUyAeZGuaj3Hz2av8tRYjFqoYOIFhNROyJqQ0SP+tblE9Ei3/ciImpGRDWJqAERRTDVLGTrVvb57tjhv37HDl6/dWvwPn37so9bjx8vXCZGPZaiEf9lrVrAeecFrzfaQXfllcFWTJcu3Lmmtljl6IFAi1X+L6Nh9XosxeRkxZLXYzlWqgZOyQjYDh2MySXp1Ek7LUIgS5Zot3CcmDlJq6O9vBz49tvQHZzxlhM9JUV/npOHH+bBCQBw+eX8aUekKBDdCCyA9Q2gPD9udEaH0vR2L5ZZ6IGWeeDSokXofXfv5qxo4fYPl4kxkkUKcJlI80JK7r472LKW6LHQZSDQW28F17NhA9Gll/qv69FD+3g7dxI9+2zo/x2KSDnrMzOJ1q83ZqGXlyv1Hz3K6/btMy4bEe/bvHnkcnXqaPd/OGEJ6wmECrTgGzTgY6ek2NtysApAf2DRunVEmzYp+wFEc+daL9OBA/73mlF69yZaupS/r1zJcv70k755YQ2CaAKL7FosU+hGXBFa1K0bft969ULvq9cVoreJ/vnn0Sn0c87hsk89RdS+vf/+Wulzx4/nyaS16N/feJMxMzOyQj95UpEjUvrR2rX965cKXU54EIpQD5Fehf7880S33BK83q5JhdVEemlkZ2u7fdSGiZmJGpzEiELv1YsD7uR+ALsErWbsWJ6o3CwA0fTp/L24mH+vWGGLiy6cQk+sXC5mUA+h02L//tBNJ72uEL1N9Bo1giemMIKcCCApSV/uj3r1lI4cNatWcRCH0fG+R45E3r57N38nCp/jpWVLnmhXfe4yMjhrJFHoY4SLDUhO5qChSMydy5MdBOLE/J16Otq13D7qSbZ797Y3G6UVtGypr9yKFTzhiBqtDKvR8tRTwPz55ve/+WYlvqJpU3YLvfee/S66ADyFrodHH9VeH83DojW58fvvR58Qa+lSnmkoMHBDKkG1MmzThoNRtGQLLKuHGjXCb8/M5LH2sm7pz7/zTqWM9OcvWMC/1f7SEyc4H35lmIDkcH7u1FR9OfKbNOEUr4E44auO9FIQIvyoIAC4+OLo5bATIs5uahRppHz6qbXyWMH//Z8SGbp+PfcTzJxp/+TmAcS/Qo8URRlpux6eeSb6OrQItMYaNgT+9jftsnonXDjzTJ5xPDAoqF8/tojVSvrLL4FPPgldV2CAVrQQsTLOzVXky8oC7r1XKfPrr2xZtmvHv9XKW1qh4SaUjhSt+uSTkeXculXbQrdrUmE1kV4ael6yv/wSvRx20qULR4Dq4eKLlZTAcshxpFa1WaLN4ihbtPL+0zKW1NgxnDSUL8buxTIf+pYt4SdQjpTIR49vWsuvLf20evfXWgI70SZM0D4WESekMlq/ml9/5eFeat9ycjKXC/TlrVpFdM014c+b2XO5dCl/VlQo+508yT7g8eOV9TK4af9+pdyBA7wuXOeVnqGkev5HWpr2NvWkwvIaWumrDjU0MiWF1+vpiD/7bGtksQuAaNAgfR2FmzYRvf8+f69Xj/e1o1P02We5E9MsXbvy0GAiouXLWU4pr97nXydIaB96mzbA5s3BlniLFrw+UsJ/vRa82o+u9tOaRauJHircvKwM+M9/jB9DLfPKlcBVV/n7lk+eZKskcDhc9+7smjAaGKXHwmndmj/VrpQjR9j6Li9nPzfAVmaHDv55X6S1Hi44LJLLQk86g0cfBS65RHubTMYkZ9yx2lcdGAgFcEvphht4/d/+Fj4HNwDcfrs1stiBvM8++0xf/qPHHlP6lfbv589Irj0zDBrELVuzrF3L/n5AuT7Dhzs/nDSUprd7sS0fulG2bNFnWapD68ONztCzhOrl3rZNyf0skRZbpOGVkWS+/vrw8qjLykmiN282di71yCSHZh45ouy3ebOy/fhxXieHN6onBJaBRd9/H1qGSNdGTzqG8eOJLroofBnZYrKT229X5L78cl4XLrhJfr/pJnvlioZwrVqt/PSAMtpJbwvLDEB0gUVjxvgP9f3sM6Jdu7xRLo7Tpg2nJ42EugMjnJ82FKmpkcPOX3kl2P8pO/nUoxj0opb5/fdDlwvsoFF3XBpBzygP6cM+dEgJo1f3D0yezOulNV5a6r9/Zmb4TtFwfu5WrZQUrOH44ovIaQz0jtLQi1ZKgZISJVWwbP2oLXjZmpH3lERrCsJYQZ2iIpBQHYWBScdCpWVwk7feUnzmO3bwdJYNGyrXSgb62Tm5OeBZ6ETEb0o91qX09RlN8AVwgqHffw8vx4wZPB5WjZ7gm1CLely03jHUpaVEN9/M64wGQhjpU+jQgahjx9DWi2wl7Nql1L9nD6+L1C8i/dyBsyN9/LHijw23b9u2RFlZ4f//9u1Ep53mn5rALKGs7vR0oiZNuG/loYeC9wu0WLt04fiDceOil8kujI7lz8lRWlUypP71162XK1oLHSC67Tb+/v33/HvdOmV7ZaXxFm/IQyVyYJFV6OlskgpHdiYaXd54I7wMDz/MikSNmZeHXNSdLnqiHKViSUvTVrJqpaYVvCM7dfUsycnBkY3q4+Xnc6Y9dcbH3383lsHy2DHumJJTlgGhA4tKS1l+rWur9f9/+IHPmZZCNxodGM5NlJzMx3n44eD9ZBn1sQC+l2MxoIjIeLTtl18qL7OxY7nMa69ZL1f79kTz55vfPy2NM5oSKQp97Vpluww2sgBPoevBiF88nDIKt9x4Y3gZHnkk+KJHY6Gr/ZHXXhu6nFSgeuff3L2bHzytMmZl1apLTuslFaK02let0ndNjx3j8nJKwlAKXb7Iwr2oA/27ciTDsWPadRnxm0a6xikpHHUYyCWXsPIOPFZqamyG/BMZ96HPmsX9KURKOTsUerRkZBB98w1/11LoMuGdBXgKXQ+hlFSoJSnJuKXetWt4GYqLuYmtxmwHbL16/g/0ggW8PlBmIdj9UVqq34qP5iUTjYLv2JG/f/mlvmu6aROXl7lfQil0vedYbT0uW8brDh/WX1eoSan1tMIeeCB4v/HjQ3eWhzqWDblFDCHdm6mpwfJqvYTq1iUaOJC/y7Jmc/mEAyC6/37z+3fvTjR5Mn8/epToL3/xb13K+0VvlskweAo9EqWlRO3aOaOYhOCcKzKRlppXX/VdkgDZOnQIVsTJySzzuHH+OVQyM4nOPTe4HpmwS0t5tG/Px9Hj34x27H20Sr15c6VpG4kNG3i/P/7g33feSfTOO8Hl9L6g1P7dkydZKUnrX29dWmOP9Rz/4ouD94s08inwWFal/432pXDmmXwt1HKG2h8IniS6pETfcYwAcNpks1x3HdHjj/P3AweC8818+y0fQx1/YRJPoUdi3DjnlVNyMnfuqR8OgJvX6pu7tJQt00CFnpLC62W5Ll04z7t6qJuRZdw45y1vs/0DN9+sT3msXcuKSp7He+7hgKBAJaRXjsxMRYnVr8+toD17/I9pJoFXfn5o5ZyUxAmq7r47eL9I8iYlKX0DkTJhhrLoA7HipbB3rzL7VLiZmOR/lAr9lVf49yuvRD6GUQDr8qHL4DmZJZKI8/DLwKMo8RR6JMz4w61a2rY173vOyOCHNT+fH95oZTH7MnBjqVFDe7TL7t3cAtJSblrnT2/0pRDB90lSUrAS0/NSDLRow6VxTk7mqMq//S34v0Y6ToMG3LrT+8LSE7loxqWkJfdzz/GntGpDMXMm0YUX8veFC3mf//438jGMAhBNnBh6e6hWye7d/q3W7Gy29AF/BV5aykaAOq7CtKihFbrg7c6Tm5tLy5cvd+XYQUSbw8HDw8PDDCNGAE8/bWhMuhBiBRFpzhquK7BICHGREGKjEGKLEGKCxvZ0IcQ83/ZlQohWuqXz8PDwqK68/DKn2rBodqOICl0IkQxgJoBBADoBuEYIEZh05K8A9hPRaQCeBDDFEuk8PDw8Ep1t2yzLja7HQu8DYAsRbSOiEwDmAhgSUGYIgP/6vi8AMFCIOPJjyDkLPTw8PNzAotzoehR6UwA7Vb+Lfes0yxBRBYCDAIISewghRgkhlgshlpeUlJiT2A4WLFDyYnh4eHg4jUW50R1NzkVEc4gol4hyc3JynDx0eBo3BoqLgY4d3ZbEw8OjOmLF9IXQp9B3AWiu+t3Mt06zjBAiBUAdADZMx2EjjRsDGzZw1jQPDw8PJ7EoN7oehV4EoK0QorUQIg3AcACLAsosAnCT7/tVAArIrfGQ0XLVVcDq1dFN1qxnEgUr8F4+Hh7xz6mnWjN9IXQodJ9P/HYAHwP4EcB8IlovhJgshBjsK/ZvAA2EEFsAjAMQNLQxrujWjYcRyXCB3bt5aFEkatbkl8HBgzwLeDRkZXFdq1cHz6RSuzavv+oqnpg2Ozt0PdnZQPv25uWoWZNfHHbMEuPhUd0ZMYKfZYtyo3uBRR4eHh5xRNSBRR4eHh4esY+n0D08PDwSBE+he3h4eCQInkL38PDwSBBc6xQVQpQA+CViQW2yAfxhoTh24MloDZ6M1uDJaA2xIGNLItKMzHRNoUeDEGJ5qF7eWMGT0Ro8Ga3Bk9EaYl1Gz+Xi4eHhkSB4Ct3Dw8MjQYhXhT7HbQF04MloDZ6M1uDJaA0xLWNc+tA9PDw8PIKJVwvdw8PDwyMAT6F7eHh4JAhxp9AjTVjtoBzNhRCFQogNQoj1Qoi7fOvrCyE+FUJs9n3W860XQohnfHKvEUKc7pCcyUKIH4QQH/h+t/ZN5L3FN7F3mm+9axN9CyHqCiEWCCF+EkL8KIQ4MwbP492+67xOCPGmECLD7XMphHhZCLFHCLFOtc7weRNC3OQrv1kIcZPWsSyWcZrvWq8RQrwjhKir2vaAT8aNQogLVette+61ZFRtu0cIQUKIbN9vV86jbuj/2zv/ECuqKI5/Dm7aqqGulm0YrIYRFviDBCULKdtMRKt/1IQyi8qoiAhZFYL+04qoPyKNoCI2+6VZCGZkWWa4a4q7Sra2pdmaq0ZlqRCmpz/uee7s46nv2b6ZecP5wLB37r3vzZnvvntm5s7MOaoVswC9gB+BEUBvoAUYlZAttcA4K18C7CEk0X4WaLD6BmCZlacB6wABJgBNMdn5JPA2sNbW3wNmW3k5sMDKjwDLrTwbeDdGLd8EHrByb2BgmnQkpFjcC1RHNJyXtJbATcA4YFekriTdgBrgJ/s7yMqDymxjPVBl5WURG0fZmO4DDLex3qvc476QjVZ/JSFs+M/AkCR1LHpf4t7g/xR+IrA+sr4IWJS0XWbLR8CtQBtQa3W1QJuVVwBzIv3P9CujTcOADcDNwFr7Ef4WGUxn9LQf7kQrV1k/iUG3AeYsJa8+TTrmcubWmDZrgdvSoCVQl+csS9INmAOsiNR361cOG/Pa7gQardxtPOd0jGPcF7KRkPB+NLCPLoeemI7FLJU25VJMwurYsUvqsUATMFRVD1pTJzDUyknY/iKwEDht64OBPzUkLcm3oahE32VgOHAEeN2mhl4TkX6kSEdVPQA8D+wHDhK02Ub6tITSdUt6TM0nnPFyDltit1FEZgIHVLUlryk1Nhai0hx66hCR/sAq4AlV/SvapuFQnchzoSIyHTisqtuS2H4JVBEud19R1bHAcfIyXiWpI4DNQ88kHHyuAPoBU5Oyp1iS1u18iMgS4F+gMWlboohIX2Ax8HTStpRKpTn0YhJWx4aIXERw5o2qutqqD4lIrbXXAoetPm7bbwBmiMg+4B3CtMtLwEAJibzzbUgq0XcH0KGqTbb+AcHBp0VHgCnAXlU9oqongdUEfdOmJZSuWyJjSkTmAdOBuXbgSZONVxEO3i02foYB20Xk8hTZWJBKc+jFJKyOBRERQi7V3ar6QqQpmjD7XsLceq7+HrtLPgE4Grk07nFUdZGqDlPVOoJOn6vqXOALQiLvQvbFnuhbVTuBX0Qkl/j0FuA7UqKjsR+YICJ97f+eszFVWhbYdjG6rQfqRWSQXYnUW13ZEJGphKnAGap6Is/22faU0HBgJNBMzONeVXeq6mWqWmfjp4PwAEQnKdLxbMZX1EK4y7yHcNd7SYJ2TCJczrYCO2yZRpgr3QD8AHwG1Fh/AV42u3cC18do62S6nnIZQRgk7cD7QB+rv9jW2619RIz2jQG+NS3XEJ4SSJWOwDPA98Au4C3CkxiJagmsJMzpnyQ4nfsvRDfCPHa7LffFYGM7Yb45N26WR/ovMRvbgNsj9WUb94VszGvfR9dN0UR0LHbxV/8dx3EyQqVNuTiO4zhnwR264zhORnCH7jiOkxHcoTuO42QEd+iO4zgZwR26U/GIyDf2t05E7u7h715caFuOk0b8sUUnM4jIZOApVZ1ewmeqtCseS6H2Y6ravyfsc5xy42foTsUjIsesuBS4UUR2SIhf3stib2+12NUPWf/JIrJJRD4mvPGJiKwRkW0SYp4/aHVLgWr7vsbotuxNweckxEffKSKzIt+9Ubriuzfa26WOU3aqzt/FcSqGBiJn6OaYj6rqeBHpA2wWkU+t7zjgOlXda+vzVfV3EakGtorIKlVtEJFHVXVMgW3dRXjDdTQwxD7zlbWNBa4FfgU2E+K+fN3zu+s43fEzdCfL1BPibuwghDYeTIgPAtAcceYAj4tIC7CFEGRpJOdmErBSVU+p6iHgS2B85Ls7VPU04dX2uh7ZG8c5D36G7mQZAR5T1W5Bkmyu/Xje+hRCUooTIrKREI/lQvknUj6FjzMnJvwM3ckSfxPSAeZYDyywMMeIyNWWPCOfAcAf5syvIaQWy3Ey9/k8NgGzbJ7+UkIas+Ye2QvHuUD8zMHJEq3AKZs6eYMQ/72OEMtaCJmR7ijwuU+Ah0VkNyHK35ZI26tAq4hs1xB+OMeHhNRoLYSomwtVtdMOCI6TCP7YouM4TkbwKRfHcZyM4A7dcRwnI7hDdxzHyQju0B3HcTKCO3THcZyM4A7dcRwnI7hDdxzHyQj/AZ0tNHDvT+vWAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "DYgdiXwyO6Oz"
      },
      "source": [
        ""
      ],
      "execution_count": 82,
      "outputs": []
    }
  ]
}